466cc7:	41                   	inc    %ecx
466cc8:	3b b5 f8 ef ff ff    	cmp    -0x1008(%ebp),%esi
466cce:	75 c8                	jne    0x466c98
466cd0:	3b d3                	cmp    %ebx,%edx
466cd2:	75 c4                	jne    0x466c98
466cd4:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
466cda:	2b c8                	sub    %eax,%ecx
466cdc:	8b c1                	mov    %ecx,%eax
466cde:	99                   	cltd
466cdf:	03 85 f4 ef ff ff    	add    -0x100c(%ebp),%eax
466ce5:	13 95 e8 ef ff ff    	adc    -0x1018(%ebp),%edx
466ceb:	eb 05                	jmp    0x466cf2
466ced:	83 c8 ff             	or     $0xffffffff,%eax
466cf0:	0b d0                	or     %eax,%edx
466cf2:	5f                   	pop    %edi
466cf3:	5e                   	pop    %esi
466cf4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
466cf7:	33 cd                	xor    %ebp,%ecx
466cf9:	5b                   	pop    %ebx
466cfa:	e8 03 8d fd ff       	call   0x43fa02
466cff:	8b e5                	mov    %ebp,%esp
466d01:	5d                   	pop    %ebp
466d02:	c3                   	ret
466d03:	8b ff                	mov    %edi,%edi
466d05:	55                   	push   %ebp
466d06:	8b ec                	mov    %esp,%ebp
466d08:	8a 45 10             	mov    0x10(%ebp),%al
466d0b:	53                   	push   %ebx
466d0c:	56                   	push   %esi
466d0d:	57                   	push   %edi
466d0e:	3c 01                	cmp    $0x1,%al
466d10:	74 32                	je     0x466d44
466d12:	3c 02                	cmp    $0x2,%al
466d14:	74 2e                	je     0x466d44
466d16:	8b 4d 08             	mov    0x8(%ebp),%ecx
466d19:	33 f6                	xor    %esi,%esi
466d1b:	8b 45 0c             	mov    0xc(%ebp),%eax
466d1e:	33 d2                	xor    %edx,%edx
466d20:	33 db                	xor    %ebx,%ebx
466d22:	2b c1                	sub    %ecx,%eax
466d24:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
466d27:	1b ff                	sbb    %edi,%edi
466d29:	f7 d7                	not    %edi
466d2b:	23 f8                	and    %eax,%edi
466d2d:	74 11                	je     0x466d40
466d2f:	80 39 0a             	cmpb   $0xa,(%ecx)
466d32:	75 06                	jne    0x466d3a
466d34:	83 c6 01             	add    $0x1,%esi
466d37:	83 d2 00             	adc    $0x0,%edx
466d3a:	41                   	inc    %ecx
466d3b:	43                   	inc    %ebx
466d3c:	3b df                	cmp    %edi,%ebx
466d3e:	75 ef                	jne    0x466d2f
466d40:	8b c6                	mov    %esi,%eax
466d42:	eb 38                	jmp    0x466d7c
466d44:	8b 75 08             	mov    0x8(%ebp),%esi
466d47:	33 c9                	xor    %ecx,%ecx
466d49:	8b 45 0c             	mov    0xc(%ebp),%eax
466d4c:	33 d2                	xor    %edx,%edx
466d4e:	2b c6                	sub    %esi,%eax
466d50:	33 db                	xor    %ebx,%ebx
466d52:	40                   	inc    %eax
466d53:	d1 e8                	shr    $1,%eax
466d55:	39 75 0c             	cmp    %esi,0xc(%ebp)
466d58:	1b ff                	sbb    %edi,%edi
466d5a:	f7 d7                	not    %edi
466d5c:	23 f8                	and    %eax,%edi
466d5e:	74 14                	je     0x466d74
466d60:	66 83 3e 0a          	cmpw   $0xa,(%esi)
466d64:	75 06                	jne    0x466d6c
466d66:	83 c1 01             	add    $0x1,%ecx
466d69:	83 d2 00             	adc    $0x0,%edx
466d6c:	83 c6 02             	add    $0x2,%esi
466d6f:	43                   	inc    %ebx
466d70:	3b df                	cmp    %edi,%ebx
466d72:	75 ec                	jne    0x466d60
466d74:	0f a4 ca 01          	shld   $0x1,%ecx,%edx
466d78:	03 c9                	add    %ecx,%ecx
466d7a:	8b c1                	mov    %ecx,%eax
466d7c:	5f                   	pop    %edi
466d7d:	5e                   	pop    %esi
466d7e:	5b                   	pop    %ebx
466d7f:	5d                   	pop    %ebp
466d80:	c3                   	ret
466d81:	8b 01                	mov    (%ecx),%eax
466d83:	8b 40 0c             	mov    0xc(%eax),%eax
466d86:	c1 e8 05             	shr    $0x5,%eax
466d89:	83 e0 01             	and    $0x1,%eax
466d8c:	c3                   	ret
466d8d:	8b 01                	mov    (%ecx),%eax
466d8f:	8b 40 0c             	mov    0xc(%eax),%eax
466d92:	a8 c0                	test   $0xc0,%al
466d94:	6a 00                	push   $0x0
466d96:	58                   	pop    %eax
466d97:	0f 95 c0             	setne  %al
466d9a:	c3                   	ret
466d9b:	8b 01                	mov    (%ecx),%eax
466d9d:	8b 40 0c             	mov    0xc(%eax),%eax
466da0:	c1 e8 06             	shr    $0x6,%eax
466da3:	83 e0 01             	and    $0x1,%eax
466da6:	c3                   	ret
466da7:	8b 01                	mov    (%ecx),%eax
466da9:	8b 40 0c             	mov    0xc(%eax),%eax
466dac:	c1 e8 08             	shr    $0x8,%eax
466daf:	83 e0 01             	and    $0x1,%eax
466db2:	c3                   	ret
466db3:	8b ff                	mov    %edi,%edi
466db5:	55                   	push   %ebp
466db6:	8b ec                	mov    %esp,%ebp
466db8:	5d                   	pop    %ebp
466db9:	e9 d5 f9 ff ff       	jmp    0x466793
466dbe:	8b ff                	mov    %edi,%edi
466dc0:	55                   	push   %ebp
466dc1:	8b ec                	mov    %esp,%ebp
466dc3:	5d                   	pop    %ebp
466dc4:	e9 4e f9 ff ff       	jmp    0x466717
466dc9:	8b ff                	mov    %edi,%edi
466dcb:	55                   	push   %ebp
466dcc:	8b ec                	mov    %esp,%ebp
466dce:	5d                   	pop    %ebp
466dcf:	e9 ea f9 ff ff       	jmp    0x4667be
466dd4:	8b ff                	mov    %edi,%edi
466dd6:	55                   	push   %ebp
466dd7:	8b ec                	mov    %esp,%ebp
466dd9:	5d                   	pop    %ebp
466dda:	e9 cb f8 ff ff       	jmp    0x4666aa
466ddf:	6a 0c                	push   $0xc
466de1:	68 f8 4a 4b 00       	push   $0x4b4af8
466de6:	e8 75 9b fd ff       	call   0x440960
466deb:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
466def:	8b 45 08             	mov    0x8(%ebp),%eax
466df2:	ff 30                	push   (%eax)
466df4:	e8 b0 d3 fe ff       	call   0x4541a9
466df9:	59                   	pop    %ecx
466dfa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
466dfe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
466e01:	e8 98 00 00 00       	call   0x466e9e
466e06:	8b f0                	mov    %eax,%esi
466e08:	89 75 e4             	mov    %esi,-0x1c(%ebp)
466e0b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
466e12:	e8 0d 00 00 00       	call   0x466e24
466e17:	8b c6                	mov    %esi,%eax
466e19:	e8 88 9b fd ff       	call   0x4409a6
466e1e:	c2 0c 00             	ret    $0xc
466e21:	8b 75 e4             	mov    -0x1c(%ebp),%esi
466e24:	8b 45 10             	mov    0x10(%ebp),%eax
466e27:	ff 30                	push   (%eax)
466e29:	e8 8f d3 fe ff       	call   0x4541bd
466e2e:	59                   	pop    %ecx
466e2f:	c3                   	ret
466e30:	8b ff                	mov    %edi,%edi
466e32:	55                   	push   %ebp
466e33:	8b ec                	mov    %esp,%ebp
466e35:	83 ec 0c             	sub    $0xc,%esp
466e38:	8b 45 08             	mov    0x8(%ebp),%eax
466e3b:	8d 4d ff             	lea    -0x1(%ebp),%ecx
466e3e:	89 45 f8             	mov    %eax,-0x8(%ebp)
466e41:	89 45 f4             	mov    %eax,-0xc(%ebp)
466e44:	8d 45 f8             	lea    -0x8(%ebp),%eax
466e47:	50                   	push   %eax
466e48:	ff 75 0c             	push   0xc(%ebp)
466e4b:	8d 45 f4             	lea    -0xc(%ebp),%eax
466e4e:	50                   	push   %eax
466e4f:	e8 8b ff ff ff       	call   0x466ddf
466e54:	8b e5                	mov    %ebp,%esp
466e56:	5d                   	pop    %ebp
466e57:	c3                   	ret
466e58:	8b ff                	mov    %edi,%edi
466e5a:	55                   	push   %ebp
466e5b:	8b ec                	mov    %esp,%ebp
466e5d:	8b 45 08             	mov    0x8(%ebp),%eax
466e60:	89 01                	mov    %eax,(%ecx)
466e62:	8b 45 0c             	mov    0xc(%ebp),%eax
466e65:	89 41 04             	mov    %eax,0x4(%ecx)
466e68:	8b 45 10             	mov    0x10(%ebp),%eax
466e6b:	89 41 08             	mov    %eax,0x8(%ecx)
466e6e:	8b 45 14             	mov    0x14(%ebp),%eax
466e71:	89 41 0c             	mov    %eax,0xc(%ecx)
466e74:	8b c1                	mov    %ecx,%eax
466e76:	5d                   	pop    %ebp
466e77:	c2 10 00             	ret    $0x10
466e7a:	8b ff                	mov    %edi,%edi
466e7c:	55                   	push   %ebp
466e7d:	8b ec                	mov    %esp,%ebp
466e7f:	8b 45 08             	mov    0x8(%ebp),%eax
466e82:	8b 00                	mov    (%eax),%eax
466e84:	89 01                	mov    %eax,(%ecx)
466e86:	8b c1                	mov    %ecx,%eax
466e88:	5d                   	pop    %ebp
466e89:	c2 04 00             	ret    $0x4
466e8c:	8b ff                	mov    %edi,%edi
466e8e:	55                   	push   %ebp
466e8f:	8b ec                	mov    %esp,%ebp
466e91:	8b 45 08             	mov    0x8(%ebp),%eax
466e94:	8b 00                	mov    (%eax),%eax
466e96:	89 01                	mov    %eax,(%ecx)
466e98:	8b c1                	mov    %ecx,%eax
466e9a:	5d                   	pop    %ebp
466e9b:	c2 04 00             	ret    $0x4
466e9e:	8b ff                	mov    %edi,%edi
466ea0:	55                   	push   %ebp
466ea1:	8b ec                	mov    %esp,%ebp
466ea3:	51                   	push   %ecx
466ea4:	51                   	push   %ecx
466ea5:	56                   	push   %esi
466ea6:	8b f1                	mov    %ecx,%esi
466ea8:	57                   	push   %edi
466ea9:	8b 06                	mov    (%esi),%eax
466eab:	8b 38                	mov    (%eax),%edi
466ead:	57                   	push   %edi
466eae:	e8 34 13 01 00       	call   0x4781e7
466eb3:	88 45 fc             	mov    %al,-0x4(%ebp)
466eb6:	8b 06                	mov    (%esi),%eax
466eb8:	ff 30                	push   (%eax)
466eba:	8b 46 0c             	mov    0xc(%esi),%eax
466ebd:	ff 30                	push   (%eax)
466ebf:	8b 46 08             	mov    0x8(%esi),%eax
466ec2:	ff 30                	push   (%eax)
466ec4:	8b 46 04             	mov    0x4(%esi),%eax
466ec7:	ff 30                	push   (%eax)
466ec9:	e8 28 00 00 00       	call   0x466ef6
466ece:	57                   	push   %edi
466ecf:	ff 75 fc             	push   -0x4(%ebp)
466ed2:	8b f0                	mov    %eax,%esi
466ed4:	e8 c3 13 01 00       	call   0x47829c
466ed9:	83 c4 1c             	add    $0x1c,%esp
466edc:	8b c6                	mov    %esi,%eax
466ede:	5f                   	pop    %edi
466edf:	5e                   	pop    %esi
466ee0:	8b e5                	mov    %ebp,%esp
466ee2:	5d                   	pop    %ebp
466ee3:	c3                   	ret
466ee4:	ff 31                	push   (%ecx)
466ee6:	e8 d2 d2 fe ff       	call   0x4541bd
466eeb:	59                   	pop    %ecx
466eec:	c3                   	ret
466eed:	ff 31                	push   (%ecx)
466eef:	e8 b5 d2 fe ff       	call   0x4541a9
466ef4:	59                   	pop    %ecx
466ef5:	c3                   	ret
466ef6:	8b ff                	mov    %edi,%edi
466ef8:	55                   	push   %ebp
466ef9:	8b ec                	mov    %esp,%ebp
466efb:	83 ec 0c             	sub    $0xc,%esp
466efe:	53                   	push   %ebx
466eff:	56                   	push   %esi
466f00:	8b 75 0c             	mov    0xc(%ebp),%esi
466f03:	57                   	push   %edi
466f04:	85 f6                	test   %esi,%esi
466f06:	74 1e                	je     0x466f26
466f08:	8b 7d 10             	mov    0x10(%ebp),%edi
466f0b:	85 ff                	test   %edi,%edi
466f0d:	74 17                	je     0x466f26
466f0f:	8b 5d 14             	mov    0x14(%ebp),%ebx
466f12:	85 db                	test   %ebx,%ebx
466f14:	75 19                	jne    0x466f2f
466f16:	e8 14 5f fe ff       	call   0x44ce2f
466f1b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
466f21:	e8 b0 5d fe ff       	call   0x44ccd6
466f26:	33 c0                	xor    %eax,%eax
466f28:	5f                   	pop    %edi
466f29:	5e                   	pop    %esi
466f2a:	5b                   	pop    %ebx
466f2b:	8b e5                	mov    %ebp,%esp
466f2d:	5d                   	pop    %ebp
466f2e:	c3                   	ret
466f2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
466f32:	85 c9                	test   %ecx,%ecx
466f34:	74 e0                	je     0x466f16
466f36:	83 c8 ff             	or     $0xffffffff,%eax
466f39:	33 d2                	xor    %edx,%edx
466f3b:	f7 f6                	div    %esi
466f3d:	3b f8                	cmp    %eax,%edi
466f3f:	77 d5                	ja     0x466f16
466f41:	8d 43 0c             	lea    0xc(%ebx),%eax
466f44:	89 45 f4             	mov    %eax,-0xc(%ebp)
466f47:	8b 00                	mov    (%eax),%eax
466f49:	a9 c0 04 00 00       	test   $0x4c0,%eax
466f4e:	74 05                	je     0x466f55
466f50:	8b 53 18             	mov    0x18(%ebx),%edx
466f53:	eb 05                	jmp    0x466f5a
466f55:	ba 00 10 00 00       	mov    $0x1000,%edx
466f5a:	0f af f7             	imul   %edi,%esi
466f5d:	89 55 fc             	mov    %edx,-0x4(%ebp)
466f60:	8b fe                	mov    %esi,%edi
466f62:	85 f6                	test   %esi,%esi
466f64:	0f 84 e6 00 00 00    	je     0x467050
466f6a:	8b 43 0c             	mov    0xc(%ebx),%eax
466f6d:	a8 c0                	test   $0xc0,%al
466f6f:	74 39                	je     0x466faa
466f71:	8b 43 08             	mov    0x8(%ebx),%eax
466f74:	89 45 f8             	mov    %eax,-0x8(%ebp)
466f77:	85 c0                	test   %eax,%eax
466f79:	74 2f                	je     0x466faa
466f7b:	0f 88 d7 00 00 00    	js     0x467058
466f81:	3b f8                	cmp    %eax,%edi
466f83:	73 05                	jae    0x466f8a
466f85:	8b c7                	mov    %edi,%eax
466f87:	89 7d f8             	mov    %edi,-0x8(%ebp)
466f8a:	50                   	push   %eax
466f8b:	51                   	push   %ecx
466f8c:	ff 33                	push   (%ebx)
466f8e:	e8 cd c3 fd ff       	call   0x443360
466f93:	8b 45 f8             	mov    -0x8(%ebp),%eax
466f96:	83 c4 0c             	add    $0xc,%esp
466f99:	29 43 08             	sub    %eax,0x8(%ebx)
466f9c:	2b f8                	sub    %eax,%edi
466f9e:	8b 4d 08             	mov    0x8(%ebp),%ecx
466fa1:	01 03                	add    %eax,(%ebx)
466fa3:	03 c8                	add    %eax,%ecx
466fa5:	89 4d 08             	mov    %ecx,0x8(%ebp)
466fa8:	eb 70                	jmp    0x46701a
466faa:	3b fa                	cmp    %edx,%edi
466fac:	72 71                	jb     0x46701f
466fae:	8b 43 0c             	mov    0xc(%ebx),%eax
466fb1:	a8 c0                	test   $0xc0,%al
466fb3:	74 15                	je     0x466fca
466fb5:	53                   	push   %ebx
466fb6:	e8 31 ee 00 00       	call   0x475dec
466fbb:	59                   	pop    %ecx
466fbc:	85 c0                	test   %eax,%eax
466fbe:	0f 85 9d 00 00 00    	jne    0x467061
466fc4:	8b 4d 08             	mov    0x8(%ebp),%ecx
466fc7:	8b 55 fc             	mov    -0x4(%ebp),%edx
466fca:	8b c7                	mov    %edi,%eax
466fcc:	85 d2                	test   %edx,%edx
466fce:	74 0e                	je     0x466fde
466fd0:	33 d2                	xor    %edx,%edx
466fd2:	f7 75 fc             	divl   -0x4(%ebp)
466fd5:	8b c7                	mov    %edi,%eax
466fd7:	2b c2                	sub    %edx,%eax
466fd9:	89 45 f8             	mov    %eax,-0x8(%ebp)
466fdc:	eb 03                	jmp    0x466fe1
466fde:	89 7d f8             	mov    %edi,-0x8(%ebp)
466fe1:	83 f8 fe             	cmp    $0xfffffffe,%eax
466fe4:	72 06                	jb     0x466fec
466fe6:	6a fe                	push   $0xfffffffe
466fe8:	58                   	pop    %eax
466fe9:	89 45 f8             	mov    %eax,-0x8(%ebp)
466fec:	50                   	push   %eax
466fed:	51                   	push   %ecx
466fee:	53                   	push   %ebx
466fef:	e8 82 11 01 00       	call   0x478176
466ff4:	59                   	pop    %ecx
466ff5:	50                   	push   %eax
466ff6:	e8 44 31 01 00       	call   0x47a13f
466ffb:	83 c4 0c             	add    $0xc,%esp
466ffe:	83 f8 ff             	cmp    $0xffffffff,%eax
467001:	74 55                	je     0x467058
467003:	8b 4d f8             	mov    -0x8(%ebp),%ecx