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
417e71:	e9 da 00 00 00       	jmp    0x417f50
417e76:	53                   	push   %ebx
417e77:	57                   	push   %edi
417e78:	83 ce ff             	or     $0xffffffff,%esi
417e7b:	56                   	push   %esi
417e7c:	ff 75 0c             	push   0xc(%ebp)
417e7f:	6a 09                	push   $0x9
417e81:	51                   	push   %ecx
417e82:	e8 e8 23 00 00       	call   0x41a26f
417e87:	83 c4 18             	add    $0x18,%esp
417e8a:	85 c0                	test   %eax,%eax
417e8c:	0f 85 bb 00 00 00    	jne    0x417f4d
417e92:	ff 15 98 40 42 00    	call   *0x424098
417e98:	83 f8 7a             	cmp    $0x7a,%eax
417e9b:	75 60                	jne    0x417efd
417e9d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417ea0:	8b c1                	mov    %ecx,%eax
417ea2:	89 45 fc             	mov    %eax,-0x4(%ebp)
417ea5:	8b d3                	mov    %ebx,%edx
417ea7:	85 db                	test   %ebx,%ebx
417ea9:	74 34                	je     0x417edf
417eab:	8a 08                	mov    (%eax),%cl
417ead:	4a                   	dec    %edx
417eae:	89 55 f8             	mov    %edx,-0x8(%ebp)
417eb1:	84 c9                	test   %cl,%cl
417eb3:	74 27                	je     0x417edc
417eb5:	8d 45 e8             	lea    -0x18(%ebp),%eax
417eb8:	50                   	push   %eax
417eb9:	0f b6 c1             	movzbl %cl,%eax
417ebc:	50                   	push   %eax
417ebd:	e8 92 26 00 00       	call   0x41a554
417ec2:	59                   	pop    %ecx
417ec3:	85 c0                	test   %eax,%eax
417ec5:	8b 45 fc             	mov    -0x4(%ebp),%eax
417ec8:	59                   	pop    %ecx
417ec9:	74 06                	je     0x417ed1
417ecb:	40                   	inc    %eax
417ecc:	80 38 00             	cmpb   $0x0,(%eax)
417ecf:	74 2c                	je     0x417efd
417ed1:	8b 55 f8             	mov    -0x8(%ebp),%edx
417ed4:	40                   	inc    %eax
417ed5:	89 45 fc             	mov    %eax,-0x4(%ebp)
417ed8:	85 d2                	test   %edx,%edx
417eda:	75 cf                	jne    0x417eab
417edc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417edf:	53                   	push   %ebx
417ee0:	57                   	push   %edi
417ee1:	2b c1                	sub    %ecx,%eax
417ee3:	50                   	push   %eax
417ee4:	8b 45 e8             	mov    -0x18(%ebp),%eax
417ee7:	51                   	push   %ecx
417ee8:	6a 01                	push   $0x1
417eea:	ff 70 08             	push   0x8(%eax)
417eed:	e8 7d 23 00 00       	call   0x41a26f
417ef2:	83 c4 18             	add    $0x18,%esp
417ef5:	85 c0                	test   %eax,%eax
417ef7:	0f 85 39 ff ff ff    	jne    0x417e36
417efd:	e8 f9 6e ff ff       	call   0x40edfb
417f02:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
417f08:	33 c0                	xor    %eax,%eax
417f0a:	66 89 07             	mov    %ax,(%edi)
417f0d:	eb 41                	jmp    0x417f50
417f0f:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
417f15:	75 11                	jne    0x417f28
417f17:	8b 75 0c             	mov    0xc(%ebp),%esi
417f1a:	8d 4e 01             	lea    0x1(%esi),%ecx
417f1d:	8a 06                	mov    (%esi),%al
417f1f:	46                   	inc    %esi
417f20:	84 c0                	test   %al,%al
417f22:	75 f9                	jne    0x417f1d
417f24:	2b f1                	sub    %ecx,%esi
417f26:	eb 28                	jmp    0x417f50
417f28:	56                   	push   %esi
417f29:	56                   	push   %esi
417f2a:	83 ce ff             	or     $0xffffffff,%esi
417f2d:	56                   	push   %esi
417f2e:	ff 75 0c             	push   0xc(%ebp)
417f31:	6a 09                	push   $0x9
417f33:	51                   	push   %ecx
417f34:	e8 36 23 00 00       	call   0x41a26f
417f39:	83 c4 18             	add    $0x18,%esp
417f3c:	85 c0                	test   %eax,%eax
417f3e:	75 0d                	jne    0x417f4d
417f40:	e8 b6 6e ff ff       	call   0x40edfb
417f45:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
417f4b:	eb 03                	jmp    0x417f50
417f4d:	8d 70 ff             	lea    -0x1(%eax),%esi
417f50:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
417f54:	74 0a                	je     0x417f60
417f56:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
417f59:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
417f60:	8b c6                	mov    %esi,%eax
417f62:	5f                   	pop    %edi
417f63:	5e                   	pop    %esi
417f64:	5b                   	pop    %ebx
417f65:	c9                   	leave
417f66:	c3                   	ret
417f67:	8b ff                	mov    %edi,%edi
417f69:	55                   	push   %ebp
417f6a:	8b ec                	mov    %esp,%ebp
417f6c:	83 ec 10             	sub    $0x10,%esp
417f6f:	53                   	push   %ebx
417f70:	8b 5d 10             	mov    0x10(%ebp),%ebx
417f73:	56                   	push   %esi
417f74:	57                   	push   %edi
417f75:	8b 7d 0c             	mov    0xc(%ebp),%edi
417f78:	33 f6                	xor    %esi,%esi
417f7a:	85 ff                	test   %edi,%edi
417f7c:	75 3b                	jne    0x417fb9
417f7e:	85 db                	test   %ebx,%ebx
417f80:	75 3b                	jne    0x417fbd
417f82:	85 ff                	test   %edi,%edi
417f84:	74 05                	je     0x417f8b
417f86:	33 c0                	xor    %eax,%eax
417f88:	66 89 07             	mov    %ax,(%edi)
417f8b:	8b 45 08             	mov    0x8(%ebp),%eax
417f8e:	85 c0                	test   %eax,%eax
417f90:	74 02                	je     0x417f94
417f92:	89 30                	mov    %esi,(%eax)
417f94:	ff 75 1c             	push   0x1c(%ebp)
417f97:	8d 4d f0             	lea    -0x10(%ebp),%ecx
417f9a:	e8 df 3c ff ff       	call   0x40bc7e
417f9f:	8b c3                	mov    %ebx,%eax
417fa1:	39 5d 18             	cmp    %ebx,0x18(%ebp)
417fa4:	77 03                	ja     0x417fa9
417fa6:	8b 45 18             	mov    0x18(%ebp),%eax
417fa9:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
417fae:	76 1e                	jbe    0x417fce
417fb0:	e8 46 6e ff ff       	call   0x40edfb
417fb5:	6a 16                	push   $0x16
417fb7:	eb 58                	jmp    0x418011
417fb9:	85 db                	test   %ebx,%ebx
417fbb:	75 c5                	jne    0x417f82
417fbd:	e8 39 6e ff ff       	call   0x40edfb
417fc2:	6a 16                	push   $0x16
417fc4:	5e                   	pop    %esi
417fc5:	89 30                	mov    %esi,(%eax)
417fc7:	e8 b5 50 ff ff       	call   0x40d081
417fcc:	eb 72                	jmp    0x418040
417fce:	8d 4d f4             	lea    -0xc(%ebp),%ecx
417fd1:	51                   	push   %ecx
417fd2:	50                   	push   %eax
417fd3:	ff 75 14             	push   0x14(%ebp)
417fd6:	57                   	push   %edi
417fd7:	e8 e8 fd ff ff       	call   0x417dc4
417fdc:	83 c4 10             	add    $0x10,%esp
417fdf:	83 f8 ff             	cmp    $0xffffffff,%eax
417fe2:	75 12                	jne    0x417ff6
417fe4:	85 ff                	test   %edi,%edi
417fe6:	74 05                	je     0x417fed
417fe8:	33 c0                	xor    %eax,%eax
417fea:	66 89 07             	mov    %ax,(%edi)
417fed:	e8 09 6e ff ff       	call   0x40edfb
417ff2:	8b 30                	mov    (%eax),%esi
417ff4:	eb 3a                	jmp    0x418030
417ff6:	40                   	inc    %eax
417ff7:	85 ff                	test   %edi,%edi
417ff9:	74 2c                	je     0x418027
417ffb:	3b c3                	cmp    %ebx,%eax
417ffd:	76 21                	jbe    0x418020
417fff:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
418003:	74 16                	je     0x41801b
418005:	33 c0                	xor    %eax,%eax
418007:	66 89 07             	mov    %ax,(%edi)
41800a:	e8 ec 6d ff ff       	call   0x40edfb
41800f:	6a 22                	push   $0x22
418011:	5e                   	pop    %esi
418012:	89 30                	mov    %esi,(%eax)
418014:	e8 68 50 ff ff       	call   0x40d081
418019:	eb 15                	jmp    0x418030
41801b:	6a 50                	push   $0x50
41801d:	8b c3                	mov    %ebx,%eax
41801f:	5e                   	pop    %esi
418020:	33 c9                	xor    %ecx,%ecx
418022:	66 89 4c 47 fe       	mov    %cx,-0x2(%edi,%eax,2)