468a06:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
468a0a:	7e 2e                	jle    0x468a3a
468a0c:	8b c3                	mov    %ebx,%eax
468a0e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
468a11:	c1 f8 08             	sar    $0x8,%eax
468a14:	89 45 f4             	mov    %eax,-0xc(%ebp)
468a17:	51                   	push   %ecx
468a18:	0f b6 c0             	movzbl %al,%eax
468a1b:	50                   	push   %eax
468a1c:	e8 bf 28 01 00       	call   0x47b2e0
468a21:	59                   	pop    %ecx
468a22:	59                   	pop    %ecx
468a23:	85 c0                	test   %eax,%eax
468a25:	74 13                	je     0x468a3a
468a27:	8b 45 f4             	mov    -0xc(%ebp),%eax
468a2a:	88 45 fc             	mov    %al,-0x4(%ebp)
468a2d:	33 c0                	xor    %eax,%eax
468a2f:	6a 02                	push   $0x2
468a31:	88 5d fd             	mov    %bl,-0x3(%ebp)
468a34:	88 45 fe             	mov    %al,-0x2(%ebp)
468a37:	59                   	pop    %ecx
468a38:	eb 16                	jmp    0x468a50
468a3a:	e8 f0 43 fe ff       	call   0x44ce2f
468a3f:	33 c9                	xor    %ecx,%ecx
468a41:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
468a47:	33 c0                	xor    %eax,%eax
468a49:	88 5d fc             	mov    %bl,-0x4(%ebp)
468a4c:	41                   	inc    %ecx
468a4d:	88 45 fd             	mov    %al,-0x3(%ebp)
468a50:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
468a54:	8d 55 f8             	lea    -0x8(%ebp),%edx
468a57:	88 45 fa             	mov    %al,-0x6(%ebp)
468a5a:	8b 45 e8             	mov    -0x18(%ebp),%eax
468a5d:	6a 01                	push   $0x1
468a5f:	ff 70 08             	push   0x8(%eax)
468a62:	6a 03                	push   $0x3
468a64:	52                   	push   %edx
468a65:	51                   	push   %ecx
468a66:	8d 4d fc             	lea    -0x4(%ebp),%ecx
468a69:	51                   	push   %ecx
468a6a:	ff 75 0c             	push   0xc(%ebp)
468a6d:	ff b0 a8 00 00 00    	push   0xa8(%eax)
468a73:	8d 45 e8             	lea    -0x18(%ebp),%eax
468a76:	50                   	push   %eax
468a77:	e8 03 24 01 00       	call   0x47ae7f
468a7c:	83 c4 24             	add    $0x24,%esp
468a7f:	85 c0                	test   %eax,%eax
468a81:	75 18                	jne    0x468a9b
468a83:	38 45 f0             	cmp    %al,-0x10(%ebp)
468a86:	0f 84 67 ff ff ff    	je     0x4689f3
468a8c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
468a8f:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
468a96:	e9 58 ff ff ff       	jmp    0x4689f3
468a9b:	83 f8 01             	cmp    $0x1,%eax
468a9e:	75 16                	jne    0x468ab6
468aa0:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
468aa4:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
468aa8:	74 2b                	je     0x468ad5
468aaa:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
468aad:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
468ab4:	eb 1f                	jmp    0x468ad5
468ab6:	0f b6 55 f8          	movzbl -0x8(%ebp),%edx
468aba:	0f b6 45 f9          	movzbl -0x7(%ebp),%eax
468abe:	c1 e2 08             	shl    $0x8,%edx
468ac1:	0b d0                	or     %eax,%edx
468ac3:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
468ac7:	74 0a                	je     0x468ad3
468ac9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
468acc:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
468ad3:	8b c2                	mov    %edx,%eax
468ad5:	5b                   	pop    %ebx
468ad6:	8b e5                	mov    %ebp,%esp
468ad8:	5d                   	pop    %ebp
468ad9:	c3                   	ret
468ada:	8b ff                	mov    %edi,%edi
468adc:	55                   	push   %ebp
468add:	8b ec                	mov    %esp,%ebp
468adf:	ff 75 0c             	push   0xc(%ebp)
468ae2:	6a 02                	push   $0x2
468ae4:	ff 75 08             	push   0x8(%ebp)
468ae7:	e8 41 ab fe ff       	call   0x45362d
468aec:	83 c4 0c             	add    $0xc,%esp
468aef:	f7 d8                	neg    %eax
468af1:	1b c0                	sbb    %eax,%eax
468af3:	f7 d8                	neg    %eax
468af5:	5d                   	pop    %ebp
468af6:	c3                   	ret
468af7:	8b ff                	mov    %edi,%edi
468af9:	55                   	push   %ebp
468afa:	8b ec                	mov    %esp,%ebp
468afc:	ff 75 0c             	push   0xc(%ebp)
468aff:	6a 01                	push   $0x1
468b01:	ff 75 08             	push   0x8(%ebp)
468b04:	e8 24 ab fe ff       	call   0x45362d
468b09:	83 c4 0c             	add    $0xc,%esp
468b0c:	f7 d8                	neg    %eax
468b0e:	1b c0                	sbb    %eax,%eax
468b10:	f7 d8                	neg    %eax
468b12:	5d                   	pop    %ebp
468b13:	c3                   	ret
468b14:	8b ff                	mov    %edi,%edi
468b16:	55                   	push   %ebp
468b17:	8b ec                	mov    %esp,%ebp
468b19:	8b 45 0c             	mov    0xc(%ebp),%eax
468b1c:	8b 00                	mov    (%eax),%eax
468b1e:	8b 88 94 00 00 00    	mov    0x94(%eax),%ecx
468b24:	8b 45 08             	mov    0x8(%ebp),%eax
468b27:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
468b2b:	5d                   	pop    %ebp
468b2c:	c3                   	ret
468b2d:	8b ff                	mov    %edi,%edi
468b2f:	55                   	push   %ebp
468b30:	8b ec                	mov    %esp,%ebp
468b32:	8b 45 0c             	mov    0xc(%ebp),%eax
468b35:	8b 00                	mov    (%eax),%eax
468b37:	8b 88 98 00 00 00    	mov    0x98(%eax),%ecx
468b3d:	8b 45 08             	mov    0x8(%ebp),%eax
468b40:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
468b44:	5d                   	pop    %ebp
468b45:	c3                   	ret
468b46:	8b ff                	mov    %edi,%edi
468b48:	55                   	push   %ebp
468b49:	8b ec                	mov    %esp,%ebp
468b4b:	8b 45 08             	mov    0x8(%ebp),%eax
468b4e:	83 c0 20             	add    $0x20,%eax
468b51:	5d                   	pop    %ebp
468b52:	c3                   	ret
468b53:	8b ff                	mov    %edi,%edi
468b55:	55                   	push   %ebp
468b56:	8b ec                	mov    %esp,%ebp
468b58:	ff 75 0c             	push   0xc(%ebp)
468b5b:	68 00 01 00 00       	push   $0x100
468b60:	ff 75 08             	push   0x8(%ebp)
468b63:	e8 28 fe ff ff       	call   0x468990
468b68:	83 c4 0c             	add    $0xc,%esp
468b6b:	5d                   	pop    %ebp
468b6c:	c3                   	ret
468b6d:	8b ff                	mov    %edi,%edi
468b6f:	55                   	push   %ebp
468b70:	8b ec                	mov    %esp,%ebp
468b72:	8b 45 08             	mov    0x8(%ebp),%eax
468b75:	83 c0 e0             	add    $0xffffffe0,%eax
468b78:	5d                   	pop    %ebp
468b79:	c3                   	ret
468b7a:	8b ff                	mov    %edi,%edi
468b7c:	55                   	push   %ebp
468b7d:	8b ec                	mov    %esp,%ebp
468b7f:	ff 75 0c             	push   0xc(%ebp)
468b82:	68 00 02 00 00       	push   $0x200
468b87:	ff 75 08             	push   0x8(%ebp)
468b8a:	e8 b7 fc ff ff       	call   0x468846
468b8f:	83 c4 0c             	add    $0xc,%esp
468b92:	5d                   	pop    %ebp
468b93:	c3                   	ret
468b94:	8b ff                	mov    %edi,%edi
468b96:	55                   	push   %ebp
468b97:	8b ec                	mov    %esp,%ebp
468b99:	83 3d 08 bf 4b 00 00 	cmpl   $0x0,0x4bbf08
468ba0:	74 10                	je     0x468bb2
468ba2:	6a 00                	push   $0x0
468ba4:	ff 75 08             	push   0x8(%ebp)
468ba7:	e8 a7 ff ff ff       	call   0x468b53
468bac:	59                   	pop    %ecx
468bad:	59                   	pop    %ecx
468bae:	8b c8                	mov    %eax,%ecx
468bb0:	eb 0e                	jmp    0x468bc0
468bb2:	8b 4d 08             	mov    0x8(%ebp),%ecx
468bb5:	8d 41 bf             	lea    -0x41(%ecx),%eax
468bb8:	83 f8 19             	cmp    $0x19,%eax
468bbb:	77 03                	ja     0x468bc0
468bbd:	83 c1 20             	add    $0x20,%ecx
468bc0:	8b c1                	mov    %ecx,%eax
468bc2:	5d                   	pop    %ebp
468bc3:	c3                   	ret
468bc4:	8b ff                	mov    %edi,%edi
468bc6:	55                   	push   %ebp
468bc7:	8b ec                	mov    %esp,%ebp
468bc9:	83 3d 08 bf 4b 00 00 	cmpl   $0x0,0x4bbf08
468bd0:	74 10                	je     0x468be2
468bd2:	6a 00                	push   $0x0
468bd4:	ff 75 08             	push   0x8(%ebp)
468bd7:	e8 9e ff ff ff       	call   0x468b7a
468bdc:	59                   	pop    %ecx
468bdd:	59                   	pop    %ecx
468bde:	8b c8                	mov    %eax,%ecx
468be0:	eb 0e                	jmp    0x468bf0
468be2:	8b 4d 08             	mov    0x8(%ebp),%ecx
468be5:	8d 41 9f             	lea    -0x61(%ecx),%eax
468be8:	83 f8 19             	cmp    $0x19,%eax
468beb:	77 03                	ja     0x468bf0
468bed:	83 c1 e0             	add    $0xffffffe0,%ecx
468bf0:	8b c1                	mov    %ecx,%eax
468bf2:	5d                   	pop    %ebp
468bf3:	c3                   	ret
468bf4:	8b ff                	mov    %edi,%edi
468bf6:	55                   	push   %ebp
468bf7:	8b ec                	mov    %esp,%ebp
468bf9:	8b 4d 08             	mov    0x8(%ebp),%ecx
468bfc:	33 c0                	xor    %eax,%eax
468bfe:	38 01                	cmp    %al,(%ecx)
468c00:	74 0c                	je     0x468c0e
468c02:	3b 45 0c             	cmp    0xc(%ebp),%eax
468c05:	74 07                	je     0x468c0e
468c07:	40                   	inc    %eax
468c08:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
468c0c:	75 f4                	jne    0x468c02
468c0e:	5d                   	pop    %ebp
468c0f:	c3                   	ret
468c10:	8b ff                	mov    %edi,%edi
468c12:	55                   	push   %ebp
468c13:	8b ec                	mov    %esp,%ebp
468c15:	a1 dc af 4b 00       	mov    0x4bafdc,%eax
468c1a:	56                   	push   %esi
468c1b:	57                   	push   %edi
468c1c:	83 f8 05             	cmp    $0x5,%eax
468c1f:	0f 8c 87 00 00 00    	jl     0x468cac
468c25:	8b 45 08             	mov    0x8(%ebp),%eax
468c28:	8b c8                	mov    %eax,%ecx
468c2a:	a8 01                	test   $0x1,%al
468c2c:	74 12                	je     0x468c40
468c2e:	33 d2                	xor    %edx,%edx
468c30:	66 39 11             	cmp    %dx,(%ecx)
468c33:	74 05                	je     0x468c3a
468c35:	83 c1 02             	add    $0x2,%ecx
468c38:	eb f6                	jmp    0x468c30
468c3a:	2b c8                	sub    %eax,%ecx
468c3c:	d1 f9                	sar    $1,%ecx
468c3e:	eb 65                	jmp    0x468ca5
468c40:	8b 75 0c             	mov    0xc(%ebp),%esi
468c43:	83 e1 1f             	and    $0x1f,%ecx
468c46:	6a 20                	push   $0x20
468c48:	58                   	pop    %eax
468c49:	2b c1                	sub    %ecx,%eax
468c4b:	f7 d9                	neg    %ecx
468c4d:	1b c9                	sbb    %ecx,%ecx
468c4f:	23 c8                	and    %eax,%ecx
468c51:	d1 e9                	shr    $1,%ecx
468c53:	3b f1                	cmp    %ecx,%esi
468c55:	72 02                	jb     0x468c59
468c57:	8b f1                	mov    %ecx,%esi
468c59:	8b 45 08             	mov    0x8(%ebp),%eax
468c5c:	33 d2                	xor    %edx,%edx
468c5e:	8b c8                	mov    %eax,%ecx
468c60:	8d 3c 70             	lea    (%eax,%esi,2),%edi
468c63:	3b c7                	cmp    %edi,%eax
468c65:	74 0c                	je     0x468c73
468c67:	66 39 11             	cmp    %dx,(%ecx)
468c6a:	74 07                	je     0x468c73
468c6c:	83 c1 02             	add    $0x2,%ecx
468c6f:	3b cf                	cmp    %edi,%ecx
468c71:	75 f4                	jne    0x468c67
468c73:	2b c8                	sub    %eax,%ecx
468c75:	d1 f9                	sar    $1,%ecx
468c77:	3b ce                	cmp    %esi,%ecx
468c79:	75 2a                	jne    0x468ca5
468c7b:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
468c7e:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
468c82:	c5 f5 75 01          	vpcmpeqw (%ecx),%ymm1,%ymm0
468c86:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
468c8a:	85 c0                	test   %eax,%eax
468c8c:	75 05                	jne    0x468c93
468c8e:	83 c1 20             	add    $0x20,%ecx
468c91:	eb ef                	jmp    0x468c82
468c93:	66 39 11             	cmp    %dx,(%ecx)
468c96:	74 05                	je     0x468c9d
468c98:	83 c1 02             	add    $0x2,%ecx
468c9b:	eb f6                	jmp    0x468c93
468c9d:	2b 4d 08             	sub    0x8(%ebp),%ecx
468ca0:	d1 f9                	sar    $1,%ecx
468ca2:	c5 f8 77             	vzeroupper
468ca5:	8b c1                	mov    %ecx,%eax
468ca7:	e9 97 00 00 00       	jmp    0x468d43
468cac:	83 f8 01             	cmp    $0x1,%eax
468caf:	8b 45 08             	mov    0x8(%ebp),%eax
468cb2:	7c 7e                	jl     0x468d32
468cb4:	8b c8                	mov    %eax,%ecx
468cb6:	a8 01                	test   $0x1,%al
468cb8:	74 10                	je     0x468cca
468cba:	33 d2                	xor    %edx,%edx
468cbc:	66 39 11             	cmp    %dx,(%ecx)
468cbf:	0f 84 75 ff ff ff    	je     0x468c3a
468cc5:	83 c1 02             	add    $0x2,%ecx
468cc8:	eb f2                	jmp    0x468cbc
468cca:	8b 75 0c             	mov    0xc(%ebp),%esi
468ccd:	83 e1 0f             	and    $0xf,%ecx
468cd0:	6a 10                	push   $0x10
468cd2:	58                   	pop    %eax
468cd3:	2b c1                	sub    %ecx,%eax
468cd5:	f7 d9                	neg    %ecx
468cd7:	1b c9                	sbb    %ecx,%ecx
468cd9:	23 c8                	and    %eax,%ecx
468cdb:	d1 e9                	shr    $1,%ecx
468cdd:	3b f1                	cmp    %ecx,%esi
468cdf:	72 02                	jb     0x468ce3
468ce1:	8b f1                	mov    %ecx,%esi
468ce3:	8b 45 08             	mov    0x8(%ebp),%eax
468ce6:	33 d2                	xor    %edx,%edx
468ce8:	8b c8                	mov    %eax,%ecx
468cea:	8d 3c 70             	lea    (%eax,%esi,2),%edi
468ced:	3b c7                	cmp    %edi,%eax
468cef:	74 0c                	je     0x468cfd
468cf1:	66 39 11             	cmp    %dx,(%ecx)
468cf4:	74 07                	je     0x468cfd
468cf6:	83 c1 02             	add    $0x2,%ecx
468cf9:	3b cf                	cmp    %edi,%ecx
468cfb:	75 f4                	jne    0x468cf1
468cfd:	2b c8                	sub    %eax,%ecx
468cff:	d1 f9                	sar    $1,%ecx
468d01:	3b ce                	cmp    %esi,%ecx
468d03:	75 a0                	jne    0x468ca5
468d05:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
468d08:	66 0f ef c9          	pxor   %xmm1,%xmm1
468d0c:	0f 28 01             	movaps (%ecx),%xmm0
468d0f:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
468d13:	66 0f d7 c0          	pmovmskb %xmm0,%eax
468d17:	85 c0                	test   %eax,%eax
468d19:	75 05                	jne    0x468d20
468d1b:	83 c1 10             	add    $0x10,%ecx
468d1e:	eb ec                	jmp    0x468d0c
468d20:	66 39 11             	cmp    %dx,(%ecx)
468d23:	74 05                	je     0x468d2a
468d25:	83 c1 02             	add    $0x2,%ecx
468d28:	eb f6                	jmp    0x468d20
468d2a:	2b 4d 08             	sub    0x8(%ebp),%ecx
468d2d:	e9 0a ff ff ff       	jmp    0x468c3c
468d32:	33 d2                	xor    %edx,%edx
468d34:	66 39 10             	cmp    %dx,(%eax)
468d37:	74 05                	je     0x468d3e
468d39:	83 c0 02             	add    $0x2,%eax
468d3c:	eb f6                	jmp    0x468d34
468d3e:	2b 45 08             	sub    0x8(%ebp),%eax
468d41:	d1 f8                	sar    $1,%eax
468d43:	5f                   	pop    %edi
468d44:	5e                   	pop    %esi
468d45:	5d                   	pop    %ebp
468d46:	c3                   	ret
468d47:	8b ff                	mov    %edi,%edi
468d49:	55                   	push   %ebp
468d4a:	8b ec                	mov    %esp,%ebp
468d4c:	a1 dc af 4b 00       	mov    0x4bafdc,%eax
468d51:	56                   	push   %esi
468d52:	57                   	push   %edi
468d53:	83 f8 05             	cmp    $0x5,%eax
468d56:	7c 7a                	jl     0x468dd2
468d58:	8b 75 08             	mov    0x8(%ebp),%esi
468d5b:	8b d6                	mov    %esi,%edx
468d5d:	83 e2 1f             	and    $0x1f,%edx
468d60:	6a 20                	push   $0x20
468d62:	58                   	pop    %eax
468d63:	2b c2                	sub    %edx,%eax