417a70:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
417a77:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
417a7c:	7d 5d                	jge    0x417adb
417a7e:	8d 45 d8             	lea    -0x28(%ebp),%eax
417a81:	50                   	push   %eax
417a82:	ff 75 e8             	push   -0x18(%ebp)
417a85:	ff 15 fc 40 42 00    	call   *0x4240fc
417a8b:	85 c0                	test   %eax,%eax
417a8d:	74 4c                	je     0x417adb
417a8f:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
417a93:	75 4a                	jne    0x417adf
417a95:	6a 00                	push   $0x0
417a97:	8d 45 e4             	lea    -0x1c(%ebp),%eax
417a9a:	50                   	push   %eax
417a9b:	8b 45 f4             	mov    -0xc(%ebp),%eax
417a9e:	d1 e8                	shr    $1,%eax
417aa0:	50                   	push   %eax
417aa1:	ff 75 ec             	push   -0x14(%ebp)
417aa4:	ff 75 e8             	push   -0x18(%ebp)
417aa7:	ff 15 0c 41 42 00    	call   *0x42410c
417aad:	85 c0                	test   %eax,%eax
417aaf:	75 1f                	jne    0x417ad0
417ab1:	ff 15 98 40 42 00    	call   *0x424098
417ab7:	50                   	push   %eax
417ab8:	e8 08 73 ff ff       	call   0x40edc5
417abd:	59                   	pop    %ecx
417abe:	83 cf ff             	or     $0xffffffff,%edi
417ac1:	56                   	push   %esi
417ac2:	e8 44 b6 ff ff       	call   0x41310b
417ac7:	59                   	pop    %ecx
417ac8:	8b c7                	mov    %edi,%eax
417aca:	5e                   	pop    %esi
417acb:	e9 d6 00 00 00       	jmp    0x417ba6
417ad0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
417ad3:	8b 4d 10             	mov    0x10(%ebp),%ecx
417ad6:	8d 3c 47             	lea    (%edi,%eax,2),%edi
417ad9:	eb 29                	jmp    0x417b04
417adb:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
417adf:	6a 00                	push   $0x0
417ae1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
417ae4:	50                   	push   %eax
417ae5:	8b 45 f4             	mov    -0xc(%ebp),%eax
417ae8:	50                   	push   %eax
417ae9:	ff 75 ec             	push   -0x14(%ebp)
417aec:	ff 75 e8             	push   -0x18(%ebp)
417aef:	ff 15 00 41 42 00    	call   *0x424100
417af5:	85 c0                	test   %eax,%eax
417af7:	74 5a                	je     0x417b53
417af9:	8b 4d 10             	mov    0x10(%ebp),%ecx
417afc:	39 4d e4             	cmp    %ecx,-0x1c(%ebp)
417aff:	77 52                	ja     0x417b53
417b01:	03 7d e4             	add    -0x1c(%ebp),%edi
417b04:	8b 45 f8             	mov    -0x8(%ebp),%eax
417b07:	8b 55 f0             	mov    -0x10(%ebp),%edx
417b0a:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
417b11:	80 7c 02 28 00       	cmpb   $0x0,0x28(%edx,%eax,1)
417b16:	7d a9                	jge    0x417ac1
417b18:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
417b1c:	74 17                	je     0x417b35
417b1e:	d1 e9                	shr    $1,%ecx
417b20:	51                   	push   %ecx
417b21:	ff 75 0c             	push   0xc(%ebp)
417b24:	57                   	push   %edi
417b25:	ff 75 ec             	push   -0x14(%ebp)
417b28:	53                   	push   %ebx
417b29:	e8 e6 f9 ff ff       	call   0x417514
417b2e:	83 c4 14             	add    $0x14,%esp
417b31:	8b f8                	mov    %eax,%edi
417b33:	eb 8c                	jmp    0x417ac1
417b35:	d1 ef                	shr    $1,%edi
417b37:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
417b3b:	57                   	push   %edi
417b3c:	ff 75 dc             	push   -0x24(%ebp)
417b3f:	53                   	push   %ebx
417b40:	74 0a                	je     0x417b4c
417b42:	e8 24 fb ff ff       	call   0x41766b
417b47:	83 c4 0c             	add    $0xc,%esp
417b4a:	eb e5                	jmp    0x417b31
417b4c:	e8 14 f8 ff ff       	call   0x417365
417b51:	eb f4                	jmp    0x417b47
417b53:	ff 15 98 40 42 00    	call   *0x424098
417b59:	6a 05                	push   $0x5
417b5b:	5f                   	pop    %edi
417b5c:	3b c7                	cmp    %edi,%eax
417b5e:	75 17                	jne    0x417b77
417b60:	e8 96 72 ff ff       	call   0x40edfb
417b65:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
417b6b:	e8 78 72 ff ff       	call   0x40ede8
417b70:	89 38                	mov    %edi,(%eax)
417b72:	e9 47 ff ff ff       	jmp    0x417abe
417b77:	83 f8 6d             	cmp    $0x6d,%eax
417b7a:	0f 85 37 ff ff ff    	jne    0x417ab7
417b80:	33 ff                	xor    %edi,%edi
417b82:	e9 3a ff ff ff       	jmp    0x417ac1
417b87:	33 c0                	xor    %eax,%eax
417b89:	eb 1b                	jmp    0x417ba6
417b8b:	e8 58 72 ff ff       	call   0x40ede8
417b90:	83 20 00             	andl   $0x0,(%eax)
417b93:	e8 63 72 ff ff       	call   0x40edfb
417b98:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
417b9e:	e8 de 54 ff ff       	call   0x40d081
417ba3:	83 c8 ff             	or     $0xffffffff,%eax
417ba6:	5f                   	pop    %edi
417ba7:	5b                   	pop    %ebx
417ba8:	c9                   	leave
417ba9:	c3                   	ret
417baa:	6a 18                	push   $0x18
417bac:	68 f8 18 43 00       	push   $0x4318f8
417bb1:	e8 0a 04 ff ff       	call   0x407fc0
417bb6:	8b 7d 08             	mov    0x8(%ebp),%edi
417bb9:	83 ff fe             	cmp    $0xfffffffe,%edi
417bbc:	75 18                	jne    0x417bd6
417bbe:	e8 25 72 ff ff       	call   0x40ede8
417bc3:	83 20 00             	andl   $0x0,(%eax)
417bc6:	e8 30 72 ff ff       	call   0x40edfb
417bcb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
417bd1:	e9 c9 00 00 00       	jmp    0x417c9f
417bd6:	85 ff                	test   %edi,%edi
417bd8:	0f 88 a9 00 00 00    	js     0x417c87
417bde:	3b 3d c0 4c 43 00    	cmp    0x434cc0,%edi
417be4:	0f 83 9d 00 00 00    	jae    0x417c87
417bea:	8b cf                	mov    %edi,%ecx
417bec:	c1 f9 06             	sar    $0x6,%ecx
417bef:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
417bf2:	8b c7                	mov    %edi,%eax
417bf4:	83 e0 3f             	and    $0x3f,%eax
417bf7:	6b d0 38             	imul   $0x38,%eax,%edx
417bfa:	89 55 e0             	mov    %edx,-0x20(%ebp)
417bfd:	8b 04 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%eax
417c04:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
417c09:	74 7c                	je     0x417c87
417c0b:	57                   	push   %edi
417c0c:	e8 69 39 00 00       	call   0x41b57a
417c11:	59                   	pop    %ecx
417c12:	83 ce ff             	or     $0xffffffff,%esi
417c15:	89 75 d8             	mov    %esi,-0x28(%ebp)
417c18:	8b de                	mov    %esi,%ebx
417c1a:	89 5d dc             	mov    %ebx,-0x24(%ebp)
417c1d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
417c21:	8b 45 e4             	mov    -0x1c(%ebp),%eax
417c24:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
417c2b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
417c2e:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
417c33:	75 15                	jne    0x417c4a
417c35:	e8 c1 71 ff ff       	call   0x40edfb
417c3a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
417c40:	e8 a3 71 ff ff       	call   0x40ede8
417c45:	83 20 00             	andl   $0x0,(%eax)
417c48:	eb 1c                	jmp    0x417c66
417c4a:	ff 75 14             	push   0x14(%ebp)
417c4d:	ff 75 10             	push   0x10(%ebp)
417c50:	ff 75 0c             	push   0xc(%ebp)
417c53:	57                   	push   %edi
417c54:	e8 5d 00 00 00       	call   0x417cb6
417c59:	83 c4 10             	add    $0x10,%esp
417c5c:	8b f0                	mov    %eax,%esi
417c5e:	89 75 d8             	mov    %esi,-0x28(%ebp)
417c61:	8b da                	mov    %edx,%ebx
417c63:	89 5d dc             	mov    %ebx,-0x24(%ebp)
417c66:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
417c6d:	e8 0d 00 00 00       	call   0x417c7f
417c72:	8b d3                	mov    %ebx,%edx
417c74:	eb 2e                	jmp    0x417ca4
417c76:	8b 7d 08             	mov    0x8(%ebp),%edi
417c79:	8b 5d dc             	mov    -0x24(%ebp),%ebx
417c7c:	8b 75 d8             	mov    -0x28(%ebp),%esi
417c7f:	57                   	push   %edi
417c80:	e8 aa 39 00 00       	call   0x41b62f
417c85:	59                   	pop    %ecx
417c86:	c3                   	ret
417c87:	e8 5c 71 ff ff       	call   0x40ede8
417c8c:	83 20 00             	andl   $0x0,(%eax)
417c8f:	e8 67 71 ff ff       	call   0x40edfb
417c94:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
417c9a:	e8 e2 53 ff ff       	call   0x40d081
417c9f:	83 ce ff             	or     $0xffffffff,%esi
417ca2:	8b d6                	mov    %esi,%edx
417ca4:	8b c6                	mov    %esi,%eax
417ca6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417ca9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417cb0:	59                   	pop    %ecx
417cb1:	5f                   	pop    %edi
417cb2:	5e                   	pop    %esi
417cb3:	5b                   	pop    %ebx
417cb4:	c9                   	leave
417cb5:	c3                   	ret
417cb6:	8b ff                	mov    %edi,%edi
417cb8:	55                   	push   %ebp
417cb9:	8b ec                	mov    %esp,%ebp
417cbb:	51                   	push   %ecx
417cbc:	51                   	push   %ecx
417cbd:	56                   	push   %esi
417cbe:	8b 75 08             	mov    0x8(%ebp),%esi
417cc1:	57                   	push   %edi
417cc2:	56                   	push   %esi
417cc3:	e8 2e 3b 00 00       	call   0x41b7f6
417cc8:	83 cf ff             	or     $0xffffffff,%edi
417ccb:	59                   	pop    %ecx
417ccc:	3b c7                	cmp    %edi,%eax
417cce:	75 11                	jne    0x417ce1
417cd0:	e8 26 71 ff ff       	call   0x40edfb
417cd5:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
417cdb:	8b c7                	mov    %edi,%eax
417cdd:	8b d7                	mov    %edi,%edx
417cdf:	eb 4d                	jmp    0x417d2e
417ce1:	ff 75 14             	push   0x14(%ebp)
417ce4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
417ce7:	51                   	push   %ecx
417ce8:	ff 75 10             	push   0x10(%ebp)
417ceb:	ff 75 0c             	push   0xc(%ebp)
417cee:	50                   	push   %eax
417cef:	ff 15 08 41 42 00    	call   *0x424108
417cf5:	85 c0                	test   %eax,%eax
417cf7:	75 0f                	jne    0x417d08
417cf9:	ff 15 98 40 42 00    	call   *0x424098
417cff:	50                   	push   %eax
417d00:	e8 c0 70 ff ff       	call   0x40edc5
417d05:	59                   	pop    %ecx
417d06:	eb d3                	jmp    0x417cdb
417d08:	8b 45 f8             	mov    -0x8(%ebp),%eax
417d0b:	8b 55 fc             	mov    -0x4(%ebp),%edx
417d0e:	23 c2                	and    %edx,%eax
417d10:	3b c7                	cmp    %edi,%eax
417d12:	74 c7                	je     0x417cdb
417d14:	8b 45 f8             	mov    -0x8(%ebp),%eax
417d17:	8b ce                	mov    %esi,%ecx
417d19:	83 e6 3f             	and    $0x3f,%esi
417d1c:	c1 f9 06             	sar    $0x6,%ecx
417d1f:	6b f6 38             	imul   $0x38,%esi,%esi
417d22:	8b 0c 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%ecx
417d29:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
417d2e:	5f                   	pop    %edi
417d2f:	5e                   	pop    %esi
417d30:	c9                   	leave
417d31:	c3                   	ret
417d32:	8b ff                	mov    %edi,%edi
417d34:	55                   	push   %ebp
417d35:	8b ec                	mov    %esp,%ebp
417d37:	ff 75 14             	push   0x14(%ebp)
417d3a:	ff 75 10             	push   0x10(%ebp)
417d3d:	ff 75 0c             	push   0xc(%ebp)
417d40:	ff 75 08             	push   0x8(%ebp)
417d43:	e8 62 fe ff ff       	call   0x417baa
417d48:	83 c4 10             	add    $0x10,%esp
417d4b:	5d                   	pop    %ebp
417d4c:	c3                   	ret
417d4d:	8b ff                	mov    %edi,%edi
417d4f:	55                   	push   %ebp
417d50:	8b ec                	mov    %esp,%ebp
417d52:	ff 75 14             	push   0x14(%ebp)
417d55:	ff 75 10             	push   0x10(%ebp)
417d58:	ff 75 0c             	push   0xc(%ebp)
417d5b:	ff 75 08             	push   0x8(%ebp)
417d5e:	e8 53 ff ff ff       	call   0x417cb6
417d63:	83 c4 10             	add    $0x10,%esp
417d66:	5d                   	pop    %ebp
417d67:	c3                   	ret
417d68:	8b ff                	mov    %edi,%edi
417d6a:	55                   	push   %ebp
417d6b:	8b ec                	mov    %esp,%ebp
417d6d:	ff 05 1c 46 43 00    	incl   0x43461c
417d73:	56                   	push   %esi
417d74:	8b 75 08             	mov    0x8(%ebp),%esi
417d77:	57                   	push   %edi
417d78:	6a 01                	push   $0x1
417d7a:	bf 00 10 00 00       	mov    $0x1000,%edi
417d7f:	57                   	push   %edi
417d80:	e8 29 b3 ff ff       	call   0x4130ae
417d85:	6a 00                	push   $0x0
417d87:	89 46 04             	mov    %eax,0x4(%esi)
417d8a:	e8 7c b3 ff ff       	call   0x41310b
417d8f:	83 c4 0c             	add    $0xc,%esp
417d92:	8d 46 0c             	lea    0xc(%esi),%eax
417d95:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
417d99:	74 08                	je     0x417da3
417d9b:	6a 40                	push   $0x40
417d9d:	59                   	pop    %ecx
417d9e:	f0 09 08             	lock or %ecx,(%eax)
417da1:	eb 11                	jmp    0x417db4
417da3:	b9 00 04 00 00       	mov    $0x400,%ecx
417da8:	f0 09 08             	lock or %ecx,(%eax)
417dab:	8d 46 14             	lea    0x14(%esi),%eax
417dae:	6a 02                	push   $0x2
417db0:	89 46 04             	mov    %eax,0x4(%esi)
417db3:	5f                   	pop    %edi
417db4:	89 7e 18             	mov    %edi,0x18(%esi)
417db7:	8b 46 04             	mov    0x4(%esi),%eax
417dba:	83 66 08 00          	andl   $0x0,0x8(%esi)
417dbe:	5f                   	pop    %edi
417dbf:	89 06                	mov    %eax,(%esi)
417dc1:	5e                   	pop    %esi
417dc2:	5d                   	pop    %ebp
417dc3:	c3                   	ret
417dc4:	8b ff                	mov    %edi,%edi
417dc6:	55                   	push   %ebp
417dc7:	8b ec                	mov    %esp,%ebp
417dc9:	83 ec 1c             	sub    $0x1c,%esp
417dcc:	53                   	push   %ebx
417dcd:	8b 5d 10             	mov    0x10(%ebp),%ebx
417dd0:	56                   	push   %esi
417dd1:	57                   	push   %edi
417dd2:	8b 7d 08             	mov    0x8(%ebp),%edi
417dd5:	33 f6                	xor    %esi,%esi
417dd7:	85 ff                	test   %edi,%edi
417dd9:	74 0d                	je     0x417de8
417ddb:	33 c0                	xor    %eax,%eax
417ddd:	85 db                	test   %ebx,%ebx
417ddf:	0f 84 7d 01 00 00    	je     0x417f62
417de5:	66 89 07             	mov    %ax,(%edi)
417de8:	39 75 0c             	cmp    %esi,0xc(%ebp)
417deb:	75 18                	jne    0x417e05
417ded:	e8 09 70 ff ff       	call   0x40edfb
417df2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
417df8:	e8 84 52 ff ff       	call   0x40d081
417dfd:	83 c8 ff             	or     $0xffffffff,%eax
417e00:	e9 5d 01 00 00       	jmp    0x417f62
417e05:	ff 75 14             	push   0x14(%ebp)
417e08:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
417e0b:	e8 6e 3e ff ff       	call   0x40bc7e
417e10:	8b 45 e8             	mov    -0x18(%ebp),%eax
417e13:	8b 48 08             	mov    0x8(%eax),%ecx
417e16:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
417e1c:	75 1f                	jne    0x417e3d
417e1e:	8d 45 f4             	lea    -0xc(%ebp),%eax
417e21:	89 75 f4             	mov    %esi,-0xc(%ebp)
417e24:	50                   	push   %eax
417e25:	53                   	push   %ebx
417e26:	8d 45 0c             	lea    0xc(%ebp),%eax
417e29:	89 75 f8             	mov    %esi,-0x8(%ebp)
417e2c:	50                   	push   %eax
417e2d:	57                   	push   %edi
417e2e:	e8 98 6f 00 00       	call   0x41edcb
417e33:	83 c4 10             	add    $0x10,%esp
417e36:	8b f0                	mov    %eax,%esi
417e38:	e9 13 01 00 00       	jmp    0x417f50
417e3d:	85 ff                	test   %edi,%edi
417e3f:	0f 84 ca 00 00 00    	je     0x417f0f
417e45:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
417e4b:	75 29                	jne    0x417e76
417e4d:	85 db                	test   %ebx,%ebx
417e4f:	0f 84 fb 00 00 00    	je     0x417f50
417e55:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417e58:	0f b6 04 0e          	movzbl (%esi,%ecx,1),%eax
417e5c:	66 89 07             	mov    %ax,(%edi)
417e5f:	80 3c 0e 00          	cmpb   $0x0,(%esi,%ecx,1)
417e63:	0f 84 e7 00 00 00    	je     0x417f50
417e69:	46                   	inc    %esi
417e6a:	83 c7 02             	add    $0x2,%edi
417e6d:	3b f3                	cmp    %ebx,%esi
417e6f:	72 e7                	jb     0x417e58