423ac2:	8b ec                	mov    %esp,%ebp
423ac4:	83 ec 14             	sub    $0x14,%esp
423ac7:	53                   	push   %ebx
423ac8:	56                   	push   %esi
423ac9:	33 f6                	xor    %esi,%esi
423acb:	57                   	push   %edi
423acc:	39 75 10             	cmp    %esi,0x10(%ebp)
423acf:	0f 84 dc 00 00 00    	je     0x423bb1
423ad5:	8b 5d 08             	mov    0x8(%ebp),%ebx
423ad8:	85 db                	test   %ebx,%ebx
423ada:	75 1a                	jne    0x423af6
423adc:	e8 87 52 00 00       	call   0x428d68
423ae1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
423ae7:	e8 0a 55 00 00       	call   0x428ff6
423aec:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
423af1:	e9 bd 00 00 00       	jmp    0x423bb3
423af6:	8b 7d 0c             	mov    0xc(%ebp),%edi
423af9:	85 ff                	test   %edi,%edi
423afb:	74 df                	je     0x423adc
423afd:	ff 75 14             	push   0x14(%ebp)
423b00:	8d 4d ec             	lea    -0x14(%ebp),%ecx
423b03:	e8 ad f5 ff ff       	call   0x4230b5
423b08:	8b 45 ec             	mov    -0x14(%ebp),%eax
423b0b:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
423b11:	75 51                	jne    0x423b64
423b13:	8b 4d 10             	mov    0x10(%ebp),%ecx
423b16:	2b df                	sub    %edi,%ebx
423b18:	6a 41                	push   $0x41
423b1a:	5a                   	pop    %edx
423b1b:	6a 5a                	push   $0x5a
423b1d:	5e                   	pop    %esi
423b1e:	89 75 fc             	mov    %esi,-0x4(%ebp)
423b21:	eb 03                	jmp    0x423b26
423b23:	6a 5a                	push   $0x5a
423b25:	5e                   	pop    %esi
423b26:	0f b7 04 3b          	movzwl (%ebx,%edi,1),%eax
423b2a:	66 3b c2             	cmp    %dx,%ax
423b2d:	72 0d                	jb     0x423b3c
423b2f:	66 3b c6             	cmp    %si,%ax
423b32:	77 08                	ja     0x423b3c
423b34:	83 c0 20             	add    $0x20,%eax
423b37:	0f b7 f0             	movzwl %ax,%esi
423b3a:	eb 02                	jmp    0x423b3e
423b3c:	8b f0                	mov    %eax,%esi
423b3e:	0f b7 07             	movzwl (%edi),%eax
423b41:	66 3b c2             	cmp    %dx,%ax
423b44:	72 0c                	jb     0x423b52
423b46:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
423b4a:	77 06                	ja     0x423b52
423b4c:	83 c0 20             	add    $0x20,%eax
423b4f:	0f b7 c0             	movzwl %ax,%eax
423b52:	83 c7 02             	add    $0x2,%edi
423b55:	49                   	dec    %ecx
423b56:	74 44                	je     0x423b9c
423b58:	66 85 f6             	test   %si,%si
423b5b:	74 3f                	je     0x423b9c
423b5d:	66 3b f0             	cmp    %ax,%si
423b60:	74 c1                	je     0x423b23
423b62:	eb 38                	jmp    0x423b9c
423b64:	8d 45 ec             	lea    -0x14(%ebp),%eax
423b67:	50                   	push   %eax
423b68:	0f b7 03             	movzwl (%ebx),%eax
423b6b:	50                   	push   %eax
423b6c:	e8 a6 12 00 00       	call   0x424e17
423b71:	0f b7 f0             	movzwl %ax,%esi
423b74:	8d 45 ec             	lea    -0x14(%ebp),%eax
423b77:	50                   	push   %eax
423b78:	0f b7 07             	movzwl (%edi),%eax
423b7b:	50                   	push   %eax
423b7c:	e8 96 12 00 00       	call   0x424e17
423b81:	83 c4 10             	add    $0x10,%esp
423b84:	0f b7 c0             	movzwl %ax,%eax
423b87:	ff 4d 10             	decl   0x10(%ebp)
423b8a:	8d 5b 02             	lea    0x2(%ebx),%ebx
423b8d:	8d 7f 02             	lea    0x2(%edi),%edi
423b90:	74 0a                	je     0x423b9c
423b92:	66 85 f6             	test   %si,%si
423b95:	74 05                	je     0x423b9c
423b97:	66 3b f0             	cmp    %ax,%si
423b9a:	74 c8                	je     0x423b64
423b9c:	0f b7 c0             	movzwl %ax,%eax
423b9f:	0f b7 f6             	movzwl %si,%esi
423ba2:	2b f0                	sub    %eax,%esi
423ba4:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
423ba8:	74 07                	je     0x423bb1
423baa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
423bad:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
423bb1:	8b c6                	mov    %esi,%eax
423bb3:	5f                   	pop    %edi
423bb4:	5e                   	pop    %esi
423bb5:	5b                   	pop    %ebx
423bb6:	8b e5                	mov    %ebp,%esp
423bb8:	5d                   	pop    %ebp
423bb9:	c3                   	ret
423bba:	53                   	push   %ebx
423bbb:	8b dc                	mov    %esp,%ebx
423bbd:	51                   	push   %ecx
423bbe:	51                   	push   %ecx
423bbf:	83 e4 f0             	and    $0xfffffff0,%esp
423bc2:	83 c4 04             	add    $0x4,%esp
423bc5:	55                   	push   %ebp
423bc6:	8b 6b 04             	mov    0x4(%ebx),%ebp
423bc9:	89 6c 24 04          	mov    %ebp,0x4(%esp)
423bcd:	8b ec                	mov    %esp,%ebp
423bcf:	83 ec 28             	sub    $0x28,%esp
423bd2:	56                   	push   %esi
423bd3:	57                   	push   %edi
423bd4:	8b 7b 0c             	mov    0xc(%ebx),%edi
423bd7:	33 c0                	xor    %eax,%eax
423bd9:	0f b7 0f             	movzwl (%edi),%ecx
423bdc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
423bdf:	66 3b c1             	cmp    %cx,%ax
423be2:	75 08                	jne    0x423bec
423be4:	8b 43 08             	mov    0x8(%ebx),%eax
423be7:	e9 58 02 00 00       	jmp    0x423e44
423bec:	a1 f8 41 4c 00       	mov    0x4c41f8,%eax
423bf1:	83 f8 01             	cmp    $0x1,%eax
423bf4:	0f 8e f5 00 00 00    	jle    0x423cef
423bfa:	8b c7                	mov    %edi,%eax
423bfc:	25 ff 0f 00 00       	and    $0xfff,%eax
423c01:	6a 02                	push   $0x2
423c03:	5e                   	pop    %esi
423c04:	3d f0 0f 00 00       	cmp    $0xff0,%eax
423c09:	77 06                	ja     0x423c11
423c0b:	f3 0f 6f 07          	movdqu (%edi),%xmm0
423c0f:	eb 29                	jmp    0x423c3a
423c11:	6a 08                	push   $0x8
423c13:	66 0f ef c0          	pxor   %xmm0,%xmm0
423c17:	0f b7 c9             	movzwl %cx,%ecx
423c1a:	5a                   	pop    %edx
423c1b:	0f b7 c1             	movzwl %cx,%eax
423c1e:	66 0f 73 d8 02       	psrldq $0x2,%xmm0
423c23:	66 0f c4 c0 07       	pinsrw $0x7,%eax,%xmm0
423c28:	33 c0                	xor    %eax,%eax
423c2a:	66 3b c1             	cmp    %cx,%ax
423c2d:	74 05                	je     0x423c34
423c2f:	03 fe                	add    %esi,%edi
423c31:	0f b7 0f             	movzwl (%edi),%ecx
423c34:	4a                   	dec    %edx
423c35:	75 e4                	jne    0x423c1b
423c37:	8b 4d f8             	mov    -0x8(%ebp),%ecx
423c3a:	8b 53 08             	mov    0x8(%ebx),%edx
423c3d:	8b c2                	mov    %edx,%eax
423c3f:	25 ff 0f 00 00       	and    $0xfff,%eax
423c44:	3d f0 0f 00 00       	cmp    $0xff0,%eax
423c49:	77 64                	ja     0x423caf
423c4b:	f3 0f 6f 0a          	movdqu (%edx),%xmm1
423c4f:	66 0f 3a 63 c1 0d    	pcmpistri $0xd,%xmm1,%xmm0
423c55:	76 08                	jbe    0x423c5f
423c57:	83 c2 10             	add    $0x10,%edx
423c5a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
423c5d:	eb de                	jmp    0x423c3d
423c5f:	0f 83 dd 01 00 00    	jae    0x423e42
423c65:	66 0f 3a 63 c1 0d    	pcmpistri $0xd,%xmm1,%xmm0
423c6b:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
423c6e:	8b 4b 0c             	mov    0xc(%ebx),%ecx
423c71:	8b fa                	mov    %edx,%edi
423c73:	8b c7                	mov    %edi,%eax
423c75:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423c78:	25 ff 0f 00 00       	and    $0xfff,%eax
423c7d:	3d f0 0f 00 00       	cmp    $0xff0,%eax
423c82:	77 45                	ja     0x423cc9
423c84:	8b c1                	mov    %ecx,%eax
423c86:	25 ff 0f 00 00       	and    $0xfff,%eax
423c8b:	3d f0 0f 00 00       	cmp    $0xff0,%eax
423c90:	77 37                	ja     0x423cc9
423c92:	f3 0f 6f 0f          	movdqu (%edi),%xmm1
423c96:	f3 0f 6f 11          	movdqu (%ecx),%xmm2
423c9a:	66 0f 3a 63 d1 0d    	pcmpistri $0xd,%xmm1,%xmm2
423ca0:	71 3f                	jno    0x423ce1
423ca2:	78 44                	js     0x423ce8
423ca4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423ca7:	83 c7 10             	add    $0x10,%edi
423caa:	83 c1 10             	add    $0x10,%ecx
423cad:	eb c4                	jmp    0x423c73
423caf:	0f b7 02             	movzwl (%edx),%eax
423cb2:	33 ff                	xor    %edi,%edi
423cb4:	66 3b f8             	cmp    %ax,%di
423cb7:	0f 84 85 01 00 00    	je     0x423e42
423cbd:	66 3b c1             	cmp    %cx,%ax
423cc0:	74 ac                	je     0x423c6e
423cc2:	03 d6                	add    %esi,%edx
423cc4:	e9 74 ff ff ff       	jmp    0x423c3d
423cc9:	0f b7 01             	movzwl (%ecx),%eax
423ccc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423cd0:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
423cd4:	74 12                	je     0x423ce8
423cd6:	66 39 07             	cmp    %ax,(%edi)
423cd9:	75 06                	jne    0x423ce1
423cdb:	03 fe                	add    %esi,%edi
423cdd:	03 ce                	add    %esi,%ecx
423cdf:	eb 92                	jmp    0x423c73
423ce1:	03 d6                	add    %esi,%edx
423ce3:	e9 72 ff ff ff       	jmp    0x423c5a
423ce8:	8b c2                	mov    %edx,%eax
423cea:	e9 55 01 00 00       	jmp    0x423e44
423cef:	0f 85 e8 00 00 00    	jne    0x423ddd
423cf5:	0f b7 c1             	movzwl %cx,%eax
423cf8:	66 0f ef db          	pxor   %xmm3,%xmm3
423cfc:	8b 4b 08             	mov    0x8(%ebx),%ecx
423cff:	6a 02                	push   $0x2
423d01:	5e                   	pop    %esi
423d02:	66 0f 6e c0          	movd   %eax,%xmm0
423d06:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
423d0b:	66 0f 70 e0 00       	pshufd $0x0,%xmm0,%xmm4
423d10:	8b c1                	mov    %ecx,%eax
423d12:	25 ff 0f 00 00       	and    $0xfff,%eax
423d17:	3d f0 0f 00 00       	cmp    $0xff0,%eax
423d1c:	77 2c                	ja     0x423d4a
423d1e:	f3 0f 6f 09          	movdqu (%ecx),%xmm1
423d22:	66 0f 6f c3          	movdqa %xmm3,%xmm0
423d26:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
423d2a:	66 0f 75 cc          	pcmpeqw %xmm4,%xmm1
423d2e:	66 0f eb c1          	por    %xmm1,%xmm0
423d32:	66 0f d7 c0          	pmovmskb %xmm0,%eax
423d36:	85 c0                	test   %eax,%eax
423d38:	75 05                	jne    0x423d3f
423d3a:	83 c1 10             	add    $0x10,%ecx
423d3d:	eb d1                	jmp    0x423d10
423d3f:	0f bc c0             	bsf    %eax,%eax
423d42:	89 45 f8             	mov    %eax,-0x8(%ebp)
423d45:	d1 e8                	shr    $1,%eax
423d47:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
423d4a:	0f b7 01             	movzwl (%ecx),%eax
423d4d:	33 d2                	xor    %edx,%edx
423d4f:	66 3b d0             	cmp    %ax,%dx
423d52:	0f 84 ea 00 00 00    	je     0x423e42
423d58:	0f b7 17             	movzwl (%edi),%edx
423d5b:	66 3b d0             	cmp    %ax,%dx
423d5e:	75 72                	jne    0x423dd2
423d60:	8b d1                	mov    %ecx,%edx
423d62:	8b c7                	mov    %edi,%eax
423d64:	25 ff 0f 00 00       	and    $0xfff,%eax
423d69:	3d f0 0f 00 00       	cmp    $0xff0,%eax
423d6e:	77 47                	ja     0x423db7
423d70:	8b c2                	mov    %edx,%eax
423d72:	25 ff 0f 00 00       	and    $0xfff,%eax
423d77:	3d f0 0f 00 00       	cmp    $0xff0,%eax
423d7c:	77 39                	ja     0x423db7
423d7e:	f3 0f 6f 17          	movdqu (%edi),%xmm2
423d82:	f3 0f 6f 0a          	movdqu (%edx),%xmm1
423d86:	66 0f 6f c3          	movdqa %xmm3,%xmm0
423d8a:	66 0f 75 ca          	pcmpeqw %xmm2,%xmm1
423d8e:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
423d92:	66 0f 75 cb          	pcmpeqw %xmm3,%xmm1
423d96:	66 0f eb c8          	por    %xmm0,%xmm1
423d9a:	66 0f d7 c1          	pmovmskb %xmm1,%eax
423d9e:	85 c0                	test   %eax,%eax
423da0:	75 08                	jne    0x423daa
423da2:	83 c2 10             	add    $0x10,%edx
423da5:	83 c7 10             	add    $0x10,%edi
423da8:	eb b8                	jmp    0x423d62
423daa:	0f bc c0             	bsf    %eax,%eax
423dad:	89 45 f8             	mov    %eax,-0x8(%ebp)
423db0:	83 e0 fe             	and    $0xfffffffe,%eax
423db3:	03 d0                	add    %eax,%edx
423db5:	03 f8                	add    %eax,%edi
423db7:	0f b7 07             	movzwl (%edi),%eax
423dba:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
423dbe:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
423dc2:	74 15                	je     0x423dd9
423dc4:	66 39 02             	cmp    %ax,(%edx)
423dc7:	75 06                	jne    0x423dcf
423dc9:	03 d6                	add    %esi,%edx
423dcb:	03 fe                	add    %esi,%edi
423dcd:	eb 93                	jmp    0x423d62
423dcf:	8b 7b 0c             	mov    0xc(%ebx),%edi
423dd2:	03 ce                	add    %esi,%ecx
423dd4:	e9 37 ff ff ff       	jmp    0x423d10
423dd9:	8b c1                	mov    %ecx,%eax
423ddb:	eb 67                	jmp    0x423e44
423ddd:	8b 53 08             	mov    0x8(%ebx),%edx
423de0:	0f b7 02             	movzwl (%edx),%eax
423de3:	66 85 c0             	test   %ax,%ax
423de6:	74 5a                	je     0x423e42
423de8:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
423dec:	8b c8                	mov    %eax,%ecx
423dee:	8b c2                	mov    %edx,%eax
423df0:	2b c7                	sub    %edi,%eax
423df2:	89 45 fc             	mov    %eax,-0x4(%ebp)
423df5:	6a 02                	push   $0x2
423df7:	5e                   	pop    %esi
423df8:	66 85 c9             	test   %cx,%cx
423dfb:	74 27                	je     0x423e24
423dfd:	0f b7 0f             	movzwl (%edi),%ecx
423e00:	66 85 c9             	test   %cx,%cx
423e03:	0f 84 df fe ff ff    	je     0x423ce8
423e09:	0f b7 0c 38          	movzwl (%eax,%edi,1),%ecx
423e0d:	0f b7 07             	movzwl (%edi),%eax
423e10:	2b c8                	sub    %eax,%ecx
423e12:	8b 45 fc             	mov    -0x4(%ebp),%eax
423e15:	8b 4d f8             	mov    -0x8(%ebp),%ecx
423e18:	75 0d                	jne    0x423e27
423e1a:	03 fe                	add    %esi,%edi
423e1c:	66 39 0c 38          	cmp    %cx,(%eax,%edi,1)
423e20:	75 db                	jne    0x423dfd
423e22:	eb 03                	jmp    0x423e27
423e24:	8b 4d f8             	mov    -0x8(%ebp),%ecx
423e27:	66 39 0f             	cmp    %cx,(%edi)
423e2a:	0f 84 b8 fe ff ff    	je     0x423ce8
423e30:	8b 7b 0c             	mov    0xc(%ebx),%edi
423e33:	03 d6                	add    %esi,%edx
423e35:	03 c6                	add    %esi,%eax
423e37:	89 45 fc             	mov    %eax,-0x4(%ebp)
423e3a:	0f b7 0a             	movzwl (%edx),%ecx
423e3d:	66 85 c9             	test   %cx,%cx
423e40:	75 bb                	jne    0x423dfd
423e42:	33 c0                	xor    %eax,%eax
423e44:	5f                   	pop    %edi
423e45:	5e                   	pop    %esi
423e46:	8b e5                	mov    %ebp,%esp
423e48:	5d                   	pop    %ebp
423e49:	8b e3                	mov    %ebx,%esp
423e4b:	5b                   	pop    %ebx
423e4c:	c3                   	ret
423e4d:	55                   	push   %ebp
423e4e:	8b ec                	mov    %esp,%ebp
423e50:	83 ec 10             	sub    $0x10,%esp
423e53:	ff 75 0c             	push   0xc(%ebp)
423e56:	8d 4d f0             	lea    -0x10(%ebp),%ecx
423e59:	e8 57 f2 ff ff       	call   0x4230b5
423e5e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423e61:	83 79 74 01          	cmpl   $0x1,0x74(%ecx)
423e65:	7e 15                	jle    0x423e7c
423e67:	8d 45 f0             	lea    -0x10(%ebp),%eax
423e6a:	50                   	push   %eax
423e6b:	6a 04                	push   $0x4
423e6d:	ff 75 08             	push   0x8(%ebp)
423e70:	e8 17 80 00 00       	call   0x42be8c
423e75:	83 c4 0c             	add    $0xc,%esp
423e78:	8b c8                	mov    %eax,%ecx
423e7a:	eb 10                	jmp    0x423e8c
423e7c:	8b 89 90 00 00 00    	mov    0x90(%ecx),%ecx
423e82:	8b 45 08             	mov    0x8(%ebp),%eax
423e85:	0f b7 0c 41          	movzwl (%ecx,%eax,2),%ecx
423e89:	83 e1 04             	and    $0x4,%ecx
423e8c:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
423e90:	74 07                	je     0x423e99
423e92:	8b 45 f8             	mov    -0x8(%ebp),%eax
423e95:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
423e99:	8b c1                	mov    %ecx,%eax
423e9b:	8b e5                	mov    %ebp,%esp
423e9d:	5d                   	pop    %ebp
423e9e:	c3                   	ret
423e9f:	55                   	push   %ebp
423ea0:	8b ec                	mov    %esp,%ebp
423ea2:	83 3d 28 42 4c 00 00 	cmpl   $0x0,0x4c4228
423ea9:	75 11                	jne    0x423ebc
423eab:	8b 4d 08             	mov    0x8(%ebp),%ecx
423eae:	a1 c8 fb 4b 00       	mov    0x4bfbc8,%eax