46e78f:	eb 45                	jmp    0x46e7d6
46e791:	57                   	push   %edi
46e792:	8d 45 08             	lea    0x8(%ebp),%eax
46e795:	50                   	push   %eax
46e796:	8d 45 fc             	lea    -0x4(%ebp),%eax
46e799:	50                   	push   %eax
46e79a:	8d 45 f8             	lea    -0x8(%ebp),%eax
46e79d:	50                   	push   %eax
46e79e:	6a 00                	push   $0x0
46e7a0:	ff 75 0c             	push   0xc(%ebp)
46e7a3:	c7 45 08 04 00 00 00 	movl   $0x4,0x8(%ebp)
46e7aa:	56                   	push   %esi
46e7ab:	ff 15 88 fe 4a 00    	call   *0x4afe88
46e7b1:	56                   	push   %esi
46e7b2:	8b f8                	mov    %eax,%edi
46e7b4:	ff 15 ac fe 4a 00    	call   *0x4afeac
46e7ba:	85 ff                	test   %edi,%edi
46e7bc:	5f                   	pop    %edi
46e7bd:	75 cd                	jne    0x46e78c
46e7bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
46e7c2:	eb 12                	jmp    0x46e7d6
46e7c4:	ff 71 64             	push   0x64(%ecx)
46e7c7:	ff 75 10             	push   0x10(%ebp)
46e7ca:	ff 75 0c             	push   0xc(%ebp)
46e7cd:	ff 75 08             	push   0x8(%ebp)
46e7d0:	ff 15 20 02 4b 00    	call   *0x4b0220
46e7d6:	5e                   	pop    %esi
46e7d7:	c9                   	leave
46e7d8:	c2 0c 00             	ret    $0xc
46e7db:	b8 79 32 48 00       	mov    $0x483279,%eax
46e7e0:	e8 97 94 fa ff       	call   0x417c7c
46e7e5:	b8 14 10 00 00       	mov    $0x1014,%eax
46e7ea:	e8 01 7f fa ff       	call   0x4166f0
46e7ef:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46e7f4:	53                   	push   %ebx
46e7f5:	57                   	push   %edi
46e7f6:	33 ff                	xor    %edi,%edi
46e7f8:	89 bd e4 ef ff ff    	mov    %edi,-0x101c(%ebp)
46e7fe:	39 79 50             	cmp    %edi,0x50(%ecx)
46e801:	89 45 f0             	mov    %eax,-0x10(%ebp)
46e804:	0f 84 cc 00 00 00    	je     0x46e8d6
46e80a:	ff 75 0c             	push   0xc(%ebp)
46e80d:	e8 1a ff ff ff       	call   0x46e72c
46e812:	3b c7                	cmp    %edi,%eax
46e814:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
46e81a:	75 08                	jne    0x46e824
46e81c:	ff 75 14             	push   0x14(%ebp)
46e81f:	e9 e3 00 00 00       	jmp    0x46e907
46e824:	56                   	push   %esi
46e825:	e8 cc 19 fd ff       	call   0x4401f6
46e82a:	8b 10                	mov    (%eax),%edx
46e82c:	8b c8                	mov    %eax,%ecx
46e82e:	ff 52 0c             	call   *0xc(%edx)
46e831:	8d 58 10             	lea    0x10(%eax),%ebx
46e834:	89 5d 0c             	mov    %ebx,0xc(%ebp)
46e837:	8b 35 88 fe 4a 00    	mov    0x4afe88,%esi
46e83d:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
46e843:	50                   	push   %eax
46e844:	57                   	push   %edi
46e845:	8d 85 e4 ef ff ff    	lea    -0x101c(%ebp),%eax
46e84b:	50                   	push   %eax
46e84c:	57                   	push   %edi
46e84d:	ff 75 10             	push   0x10(%ebp)
46e850:	89 7d fc             	mov    %edi,-0x4(%ebp)
46e853:	ff b5 ec ef ff ff    	push   -0x1014(%ebp)
46e859:	ff d6                	call   *%esi
46e85b:	3b c7                	cmp    %edi,%eax
46e85d:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
46e863:	75 3c                	jne    0x46e8a1
46e865:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
46e86b:	50                   	push   %eax
46e86c:	ff b5 e0 ef ff ff    	push   -0x1020(%ebp)
46e872:	8d 4d 0c             	lea    0xc(%ebp),%ecx
46e875:	e8 16 29 f9 ff       	call   0x401190
46e87a:	50                   	push   %eax
46e87b:	8d 85 e4 ef ff ff    	lea    -0x101c(%ebp),%eax
46e881:	50                   	push   %eax
46e882:	57                   	push   %edi
46e883:	ff 75 10             	push   0x10(%ebp)
46e886:	ff b5 ec ef ff ff    	push   -0x1014(%ebp)
46e88c:	ff d6                	call   *%esi
46e88e:	6a ff                	push   $0xffffffff
46e890:	8d 4d 0c             	lea    0xc(%ebp),%ecx
46e893:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
46e899:	e8 89 28 f9 ff       	call   0x401127
46e89e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46e8a1:	ff b5 ec ef ff ff    	push   -0x1014(%ebp)
46e8a7:	ff 15 ac fe 4a 00    	call   *0x4afeac
46e8ad:	39 bd e8 ef ff ff    	cmp    %edi,-0x1018(%ebp)
46e8b3:	8b 4d 08             	mov    0x8(%ebp),%ecx
46e8b6:	5e                   	pop    %esi
46e8b7:	75 0b                	jne    0x46e8c4
46e8b9:	8d 45 0c             	lea    0xc(%ebp),%eax
46e8bc:	50                   	push   %eax
46e8bd:	e8 10 28 f9 ff       	call   0x4010d2
46e8c2:	eb 08                	jmp    0x46e8cc
46e8c4:	ff 75 14             	push   0x14(%ebp)
46e8c7:	e8 c8 29 f9 ff       	call   0x401294
46e8cc:	8d 4b f0             	lea    -0x10(%ebx),%ecx
46e8cf:	e8 7e 2a f9 ff       	call   0x401352
46e8d4:	eb 39                	jmp    0x46e90f
46e8d6:	39 7d 14             	cmp    %edi,0x14(%ebp)
46e8d9:	75 07                	jne    0x46e8e2
46e8db:	c7 45 14 71 92 48 00 	movl   $0x489271,0x14(%ebp)
46e8e2:	ff 71 64             	push   0x64(%ecx)
46e8e5:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
46e8eb:	68 00 10 00 00       	push   $0x1000
46e8f0:	50                   	push   %eax
46e8f1:	ff 75 14             	push   0x14(%ebp)
46e8f4:	ff 75 10             	push   0x10(%ebp)
46e8f7:	ff 75 0c             	push   0xc(%ebp)
46e8fa:	ff 15 18 02 4b 00    	call   *0x4b0218
46e900:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
46e906:	50                   	push   %eax
46e907:	8b 4d 08             	mov    0x8(%ebp),%ecx
46e90a:	e8 85 29 f9 ff       	call   0x401294
46e90f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46e912:	8b 45 08             	mov    0x8(%ebp),%eax
46e915:	5f                   	pop    %edi
46e916:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46e91d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46e920:	5b                   	pop    %ebx
46e921:	e8 b8 92 fa ff       	call   0x417bde
46e926:	c9                   	leave
46e927:	c2 10 00             	ret    $0x10
46e92a:	b8 8b 32 48 00       	mov    $0x48328b,%eax
46e92f:	e8 48 93 fa ff       	call   0x417c7c
46e934:	51                   	push   %ecx
46e935:	53                   	push   %ebx
46e936:	8b 5d 14             	mov    0x14(%ebp),%ebx
46e939:	56                   	push   %esi
46e93a:	33 f6                	xor    %esi,%esi
46e93c:	57                   	push   %edi
46e93d:	8b 7d 10             	mov    0x10(%ebp),%edi
46e940:	89 37                	mov    %esi,(%edi)
46e942:	89 33                	mov    %esi,(%ebx)
46e944:	39 71 50             	cmp    %esi,0x50(%ecx)
46e947:	74 77                	je     0x46e9c0
46e949:	ff 75 08             	push   0x8(%ebp)
46e94c:	e8 db fd ff ff       	call   0x46e72c
46e951:	3b c6                	cmp    %esi,%eax
46e953:	89 45 14             	mov    %eax,0x14(%ebp)
46e956:	75 07                	jne    0x46e95f
46e958:	33 c0                	xor    %eax,%eax
46e95a:	e9 e2 00 00 00       	jmp    0x46ea41
46e95f:	8d 4d 10             	lea    0x10(%ebp),%ecx
46e962:	51                   	push   %ecx
46e963:	56                   	push   %esi
46e964:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46e967:	51                   	push   %ecx
46e968:	56                   	push   %esi
46e969:	ff 75 0c             	push   0xc(%ebp)
46e96c:	8b 35 88 fe 4a 00    	mov    0x4afe88,%esi
46e972:	50                   	push   %eax
46e973:	ff d6                	call   *%esi
46e975:	89 45 08             	mov    %eax,0x8(%ebp)
46e978:	8b 45 10             	mov    0x10(%ebp),%eax
46e97b:	89 03                	mov    %eax,(%ebx)
46e97d:	33 db                	xor    %ebx,%ebx
46e97f:	39 5d 08             	cmp    %ebx,0x8(%ebp)
46e982:	75 1e                	jne    0x46e9a2
46e984:	50                   	push   %eax
46e985:	e8 cb 16 fd ff       	call   0x440055
46e98a:	59                   	pop    %ecx
46e98b:	8d 4d 10             	lea    0x10(%ebp),%ecx
46e98e:	51                   	push   %ecx
46e98f:	50                   	push   %eax
46e990:	89 07                	mov    %eax,(%edi)
46e992:	8d 45 f0             	lea    -0x10(%ebp),%eax
46e995:	50                   	push   %eax
46e996:	53                   	push   %ebx
46e997:	ff 75 0c             	push   0xc(%ebp)
46e99a:	ff 75 14             	push   0x14(%ebp)
46e99d:	ff d6                	call   *%esi
46e99f:	89 45 08             	mov    %eax,0x8(%ebp)
46e9a2:	ff 75 14             	push   0x14(%ebp)
46e9a5:	ff 15 ac fe 4a 00    	call   *0x4afeac
46e9ab:	39 5d 08             	cmp    %ebx,0x8(%ebp)
46e9ae:	0f 84 8a 00 00 00    	je     0x46ea3e
46e9b4:	ff 37                	push   (%edi)
46e9b6:	e8 c5 16 fd ff       	call   0x440080
46e9bb:	59                   	pop    %ecx
46e9bc:	89 1f                	mov    %ebx,(%edi)
46e9be:	eb 98                	jmp    0x46e958
46e9c0:	56                   	push   %esi
46e9c1:	ff 75 0c             	push   0xc(%ebp)
46e9c4:	8d 45 0c             	lea    0xc(%ebp),%eax
46e9c7:	ff 75 08             	push   0x8(%ebp)
46e9ca:	50                   	push   %eax
46e9cb:	e8 0b fe ff ff       	call   0x46e7db
46e9d0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46e9d3:	8b 41 f4             	mov    -0xc(%ecx),%eax
46e9d6:	3b c6                	cmp    %esi,%eax
46e9d8:	89 75 fc             	mov    %esi,-0x4(%ebp)
46e9db:	89 45 08             	mov    %eax,0x8(%ebp)
46e9de:	75 0d                	jne    0x46e9ed
46e9e0:	83 c1 f0             	add    $0xfffffff0,%ecx
46e9e3:	e8 6a 29 f9 ff       	call   0x401352
46e9e8:	e9 6b ff ff ff       	jmp    0x46e958
46e9ed:	d1 e8                	shr    $1,%eax
46e9ef:	50                   	push   %eax
46e9f0:	89 03                	mov    %eax,(%ebx)
46e9f2:	e8 5e 16 fd ff       	call   0x440055
46e9f7:	39 75 08             	cmp    %esi,0x8(%ebp)
46e9fa:	59                   	pop    %ecx
46e9fb:	89 07                	mov    %eax,(%edi)
46e9fd:	7e 34                	jle    0x46ea33
46e9ff:	8d 46 01             	lea    0x1(%esi),%eax
46ea02:	50                   	push   %eax
46ea03:	8d 4d 0c             	lea    0xc(%ebp),%ecx
46ea06:	e8 46 d1 ff ff       	call   0x46bb51
46ea0b:	8a d8                	mov    %al,%bl
46ea0d:	fe cb                	dec    %bl
46ea0f:	c0 e3 04             	shl    $0x4,%bl
46ea12:	56                   	push   %esi
46ea13:	8d 4d 0c             	lea    0xc(%ebp),%ecx
46ea16:	80 eb 41             	sub    $0x41,%bl
46ea19:	e8 33 d1 ff ff       	call   0x46bb51
46ea1e:	8b 0f                	mov    (%edi),%ecx
46ea20:	02 d8                	add    %al,%bl
46ea22:	8b c6                	mov    %esi,%eax
46ea24:	99                   	cltd
46ea25:	2b c2                	sub    %edx,%eax
46ea27:	d1 f8                	sar    $1,%eax
46ea29:	46                   	inc    %esi
46ea2a:	46                   	inc    %esi
46ea2b:	3b 75 08             	cmp    0x8(%ebp),%esi
46ea2e:	88 1c 08             	mov    %bl,(%eax,%ecx,1)
46ea31:	7c cc                	jl     0x46e9ff
46ea33:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46ea36:	83 c1 f0             	add    $0xfffffff0,%ecx
46ea39:	e8 14 29 f9 ff       	call   0x401352
46ea3e:	33 c0                	xor    %eax,%eax
46ea40:	40                   	inc    %eax
46ea41:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46ea44:	5f                   	pop    %edi
46ea45:	5e                   	pop    %esi
46ea46:	5b                   	pop    %ebx
46ea47:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46ea4e:	c9                   	leave
46ea4f:	c2 10 00             	ret    $0x10
46ea52:	55                   	push   %ebp
46ea53:	8b ec                	mov    %esp,%ebp
46ea55:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
46ea59:	75 24                	jne    0x46ea7f
46ea5b:	ff 75 0c             	push   0xc(%ebp)
46ea5e:	ff 15 88 03 4b 00    	call   *0x4b0388
46ea64:	50                   	push   %eax
46ea65:	ff 75 0c             	push   0xc(%ebp)
46ea68:	6a 01                	push   $0x1
46ea6a:	ff 75 08             	push   0x8(%ebp)
46ea6d:	68 00 00 00 80       	push   $0x80000000
46ea72:	ff 15 80 fe 4a 00    	call   *0x4afe80
46ea78:	f7 d8                	neg    %eax
46ea7a:	1b c0                	sbb    %eax,%eax
46ea7c:	40                   	inc    %eax
46ea7d:	eb 4e                	jmp    0x46eacd
46ea7f:	56                   	push   %esi
46ea80:	8d 45 08             	lea    0x8(%ebp),%eax
46ea83:	50                   	push   %eax
46ea84:	ff 75 08             	push   0x8(%ebp)
46ea87:	68 00 00 00 80       	push   $0x80000000
46ea8c:	ff 15 b0 fe 4a 00    	call   *0x4afeb0
46ea92:	85 c0                	test   %eax,%eax
46ea94:	75 34                	jne    0x46eaca
46ea96:	ff 75 0c             	push   0xc(%ebp)
46ea99:	ff 15 88 03 4b 00    	call   *0x4b0388
46ea9f:	40                   	inc    %eax
46eaa0:	50                   	push   %eax
46eaa1:	ff 75 0c             	push   0xc(%ebp)
46eaa4:	6a 01                	push   $0x1
46eaa6:	6a 00                	push   $0x0
46eaa8:	ff 75 10             	push   0x10(%ebp)
46eaab:	ff 75 08             	push   0x8(%ebp)
46eaae:	ff 15 a0 fe 4a 00    	call   *0x4afea0
46eab4:	ff 75 08             	push   0x8(%ebp)
46eab7:	8b f0                	mov    %eax,%esi
46eab9:	ff 15 ac fe 4a 00    	call   *0x4afeac
46eabf:	85 c0                	test   %eax,%eax
46eac1:	75 07                	jne    0x46eaca
46eac3:	85 f6                	test   %esi,%esi
46eac5:	75 03                	jne    0x46eaca
46eac7:	40                   	inc    %eax
46eac8:	eb 02                	jmp    0x46eacc
46eaca:	33 c0                	xor    %eax,%eax
46eacc:	5e                   	pop    %esi
46eacd:	5d                   	pop    %ebp
46eace:	c2 0c 00             	ret    $0xc
46ead1:	b8 5c bf 48 00       	mov    $0x48bf5c,%eax
46ead6:	c3                   	ret
46ead7:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
46eadc:	50                   	push   %eax
46eadd:	ff 74 24 08          	push   0x8(%esp)
46eae1:	e8 ba 97 fa ff       	call   0x4182a0
46eae6:	59                   	pop    %ecx
46eae7:	59                   	pop    %ecx
46eae8:	c3                   	ret
46eae9:	e9 2c ba fa ff       	jmp    0x41a51a
46eaee:	e9 c5 ba fa ff       	jmp    0x41a5b8
46eaf3:	55                   	push   %ebp
46eaf4:	8b ec                	mov    %esp,%ebp
46eaf6:	81 ec 10 01 00 00    	sub    $0x110,%esp
46eafc:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46eb01:	56                   	push   %esi
46eb02:	ff 75 08             	push   0x8(%ebp)
46eb05:	89 45 fc             	mov    %eax,-0x4(%ebp)
46eb08:	e8 11 9d fa ff       	call   0x41881e
46eb0d:	8b f0                	mov    %eax,%esi
46eb0f:	85 f6                	test   %esi,%esi
46eb11:	59                   	pop    %ecx
46eb12:	0f 84 83 00 00 00    	je     0x46eb9b
46eb18:	56                   	push   %esi
46eb19:	ff 15 88 03 4b 00    	call   *0x4b0388
46eb1f:	03 c6                	add    %esi,%eax
46eb21:	74 6e                	je     0x46eb91
46eb23:	57                   	push   %edi
46eb24:	bf 00 00 00 80       	mov    $0x80000000,%edi
46eb29:	53                   	push   %ebx
46eb2a:	50                   	push   %eax
46eb2b:	56                   	push   %esi
46eb2c:	c6 00 00             	movb   $0x0,(%eax)
46eb2f:	e8 70 a0 fa ff       	call   0x418ba4
46eb34:	59                   	pop    %ecx
46eb35:	59                   	pop    %ecx
46eb36:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
46eb3c:	50                   	push   %eax
46eb3d:	56                   	push   %esi
46eb3e:	57                   	push   %edi
46eb3f:	ff 15 84 fe 4a 00    	call   *0x4afe84
46eb45:	85 c0                	test   %eax,%eax
46eb47:	75 46                	jne    0x46eb8f
46eb49:	68 05 01 00 00       	push   $0x105
46eb4e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46eb54:	50                   	push   %eax
46eb55:	33 db                	xor    %ebx,%ebx
46eb57:	53                   	push   %ebx
46eb58:	ff b5 f0 fe ff ff    	push   -0x110(%ebp)
46eb5e:	ff 15 94 fe 4a 00    	call   *0x4afe94
46eb64:	85 c0                	test   %eax,%eax
46eb66:	75 01                	jne    0x46eb69
46eb68:	43                   	inc    %ebx
46eb69:	ff b5 f0 fe ff ff    	push   -0x110(%ebp)
46eb6f:	ff 15 ac fe 4a 00    	call   *0x4afeac
46eb75:	85 db                	test   %ebx,%ebx
46eb77:	75 16                	jne    0x46eb8f
46eb79:	56                   	push   %esi
46eb7a:	57                   	push   %edi
46eb7b:	ff 15 90 fe 4a 00    	call   *0x4afe90
46eb81:	6a 5c                	push   $0x5c
46eb83:	56                   	push   %esi