4868d0:	0f b7 11             	movzwl (%ecx),%edx
4868d3:	83 c1 02             	add    $0x2,%ecx
4868d6:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4868da:	89 55 f4             	mov    %edx,-0xc(%ebp)
4868dd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4868e0:	74 30                	je     0x486912
4868e2:	8b c2                	mov    %edx,%eax
4868e4:	25 00 fc 00 00       	and    $0xfc00,%eax
4868e9:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4868ee:	75 22                	jne    0x486912
4868f0:	0f b7 01             	movzwl (%ecx),%eax
4868f3:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
4868f9:	c1 e2 0a             	shl    $0xa,%edx
4868fc:	25 ff 03 00 00       	and    $0x3ff,%eax
486901:	0b d0                	or     %eax,%edx
486903:	81 c2 00 00 01 00    	add    $0x10000,%edx
486909:	83 c1 02             	add    $0x2,%ecx
48690c:	89 55 f4             	mov    %edx,-0xc(%ebp)
48690f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486912:	8b c2                	mov    %edx,%eax
486914:	99                   	cltd
486915:	83 e2 7f             	and    $0x7f,%edx
486918:	03 c2                	add    %edx,%eax
48691a:	8b 55 f4             	mov    -0xc(%ebp),%edx
48691d:	c1 f8 07             	sar    $0x7,%eax
486920:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
486927:	c1 e0 07             	shl    $0x7,%eax
48692a:	81 e2 7f 00 00 80    	and    $0x8000007f,%edx
486930:	79 05                	jns    0x486937
486932:	4a                   	dec    %edx
486933:	83 ca 80             	or     $0xffffff80,%edx
486936:	42                   	inc    %edx
486937:	03 c2                	add    %edx,%eax
486939:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
486940:	00
486941:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
486948:	00
486949:	8b 04 85 80 61 4b 00 	mov    0x4b6180(,%eax,4),%eax
486950:	83 f8 01             	cmp    $0x1,%eax
486953:	74 09                	je     0x48695e
486955:	83 f8 03             	cmp    $0x3,%eax
486958:	74 04                	je     0x48695e
48695a:	33 c0                	xor    %eax,%eax
48695c:	eb 05                	jmp    0x486963
48695e:	b8 01 00 00 00       	mov    $0x1,%eax
486963:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
486966:	0f 84 08 3c f8 ff    	je     0x40a574
48696c:	8b 45 ec             	mov    -0x14(%ebp),%eax
48696f:	40                   	inc    %eax
486970:	89 45 ec             	mov    %eax,-0x14(%ebp)
486973:	3b 45 f0             	cmp    -0x10(%ebp),%eax
486976:	0f 8e 4b ff ff ff    	jle    0x4868c7
48697c:	8b 55 c8             	mov    -0x38(%ebp),%edx
48697f:	e9 0e 41 f8 ff       	jmp    0x40aa92
486984:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486987:	83 f9 01             	cmp    $0x1,%ecx
48698a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48698d:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
486994:	0f 8c fb 40 f8 ff    	jl     0x40aa95
48699a:	8b 55 f0             	mov    -0x10(%ebp),%edx
48699d:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
4869a0:	0f 83 b1 33 00 00    	jae    0x489d57
4869a6:	0f b7 19             	movzwl (%ecx),%ebx
4869a9:	83 c1 02             	add    $0x2,%ecx
4869ac:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4869af:	8b 5d 10             	mov    0x10(%ebp),%ebx
4869b2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4869b5:	85 c0                	test   %eax,%eax
4869b7:	74 36                	je     0x4869ef
4869b9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4869bc:	25 00 fc 00 00       	and    $0xfc00,%eax
4869c1:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4869c6:	75 24                	jne    0x4869ec
4869c8:	0f b7 01             	movzwl (%ecx),%eax
4869cb:	81 65 e8 ff 03 00 00 	andl   $0x3ff,-0x18(%ebp)
4869d2:	c1 65 e8 0a          	shll   $0xa,-0x18(%ebp)
4869d6:	25 ff 03 00 00       	and    $0x3ff,%eax
4869db:	0b 45 e8             	or     -0x18(%ebp),%eax
4869de:	05 00 00 01 00       	add    $0x10000,%eax
4869e3:	83 c1 02             	add    $0x2,%ecx
4869e6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4869e9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4869ec:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4869ef:	81 7d e8 0e 18 00 00 	cmpl   $0x180e,-0x18(%ebp)
4869f6:	77 4b                	ja     0x486a43
4869f8:	0f 84 dc 00 00 00    	je     0x486ada
4869fe:	81 7d e8 85 00 00 00 	cmpl   $0x85,-0x18(%ebp)
486a05:	77 21                	ja     0x486a28
486a07:	0f 84 cd 00 00 00    	je     0x486ada
486a0d:	83 7d e8 09          	cmpl   $0x9,-0x18(%ebp)
486a11:	72 6c                	jb     0x486a7f
486a13:	83 7d e8 0d          	cmpl   $0xd,-0x18(%ebp)
486a17:	0f 86 bd 00 00 00    	jbe    0x486ada
486a1d:	83 7d e8 20          	cmpl   $0x20,-0x18(%ebp)
486a21:	75 5c                	jne    0x486a7f
486a23:	e9 b2 00 00 00       	jmp    0x486ada
486a28:	81 7d e8 a0 00 00 00 	cmpl   $0xa0,-0x18(%ebp)
486a2f:	0f 84 a5 00 00 00    	je     0x486ada
486a35:	81 7d e8 80 16 00 00 	cmpl   $0x1680,-0x18(%ebp)
486a3c:	75 41                	jne    0x486a7f
486a3e:	e9 97 00 00 00       	jmp    0x486ada
486a43:	81 7d e8 2f 20 00 00 	cmpl   $0x202f,-0x18(%ebp)
486a4a:	77 21                	ja     0x486a6d
486a4c:	0f 84 88 00 00 00    	je     0x486ada
486a52:	8b 45 e8             	mov    -0x18(%ebp),%eax
486a55:	05 00 e0 ff ff       	add    $0xffffe000,%eax
486a5a:	83 f8 29             	cmp    $0x29,%eax
486a5d:	77 20                	ja     0x486a7f
486a5f:	0f b6 80 52 b9 48 00 	movzbl 0x48b952(%eax),%eax
486a66:	ff 24 85 4a b9 48 00 	jmp    *0x48b94a(,%eax,4)
486a6d:	81 7d e8 5f 20 00 00 	cmpl   $0x205f,-0x18(%ebp)
486a74:	74 64                	je     0x486ada
486a76:	81 7d e8 00 30 00 00 	cmpl   $0x3000,-0x18(%ebp)
486a7d:	74 5b                	je     0x486ada
486a7f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
486a82:	8b c1                	mov    %ecx,%eax
486a84:	99                   	cltd
486a85:	83 e2 7f             	and    $0x7f,%edx
486a88:	03 c2                	add    %edx,%eax
486a8a:	c1 f8 07             	sar    $0x7,%eax
486a8d:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
486a94:	c1 e0 07             	shl    $0x7,%eax
486a97:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
486a9d:	79 05                	jns    0x486aa4
486a9f:	49                   	dec    %ecx
486aa0:	83 c9 80             	or     $0xffffff80,%ecx
486aa3:	41                   	inc    %ecx
486aa4:	03 c1                	add    %ecx,%eax
486aa6:	33 c9                	xor    %ecx,%ecx
486aa8:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
486aaf:	00
486ab0:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
486ab7:	00
486ab8:	83 3c 85 80 61 4b 00 	cmpl   $0x6,0x4b6180(,%eax,4)
486abf:	06
486ac0:	0f 94 c1             	sete   %cl
486ac3:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
486ac6:	0f 84 a8 3a f8 ff    	je     0x40a574
486acc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486acf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486ad2:	8b 55 f0             	mov    -0x10(%ebp),%edx
486ad5:	eb 0d                	jmp    0x486ae4
486ad7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486ada:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
486ade:	0f 85 90 3a f8 ff    	jne    0x40a574
486ae4:	ff 45 ec             	incl   -0x14(%ebp)
486ae7:	39 55 ec             	cmp    %edx,-0x14(%ebp)
486aea:	0f 8e ad fe ff ff    	jle    0x48699d
486af0:	8b 55 c8             	mov    -0x38(%ebp),%edx
486af3:	e9 9d 3f f8 ff       	jmp    0x40aa95
486af8:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
486aff:	83 f9 01             	cmp    $0x1,%ecx
486b02:	0f 8c 87 3f f8 ff    	jl     0x40aa8f
486b08:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486b0b:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
486b0e:	0f 83 43 32 00 00    	jae    0x489d57
486b14:	0f b7 11             	movzwl (%ecx),%edx
486b17:	83 c1 02             	add    $0x2,%ecx
486b1a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
486b1e:	89 55 f4             	mov    %edx,-0xc(%ebp)
486b21:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486b24:	74 30                	je     0x486b56
486b26:	8b c2                	mov    %edx,%eax
486b28:	25 00 fc 00 00       	and    $0xfc00,%eax
486b2d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
486b32:	75 22                	jne    0x486b56
486b34:	0f b7 01             	movzwl (%ecx),%eax
486b37:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
486b3d:	c1 e2 0a             	shl    $0xa,%edx
486b40:	25 ff 03 00 00       	and    $0x3ff,%eax
486b45:	0b d0                	or     %eax,%edx
486b47:	81 c2 00 00 01 00    	add    $0x10000,%edx
486b4d:	83 c1 02             	add    $0x2,%ecx
486b50:	89 55 f4             	mov    %edx,-0xc(%ebp)
486b53:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486b56:	8b c2                	mov    %edx,%eax
486b58:	99                   	cltd
486b59:	83 e2 7f             	and    $0x7f,%edx
486b5c:	03 c2                	add    %edx,%eax
486b5e:	8b 55 f4             	mov    -0xc(%ebp),%edx
486b61:	c1 f8 07             	sar    $0x7,%eax
486b64:	0f b6 88 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%ecx
486b6b:	8b c2                	mov    %edx,%eax
486b6d:	c1 e1 07             	shl    $0x7,%ecx
486b70:	25 7f 00 00 80       	and    $0x8000007f,%eax
486b75:	79 05                	jns    0x486b7c
486b77:	48                   	dec    %eax
486b78:	83 c8 80             	or     $0xffffff80,%eax
486b7b:	40                   	inc    %eax
486b7c:	03 c8                	add    %eax,%ecx
486b7e:	0f b7 04 4d 08 e6 49 	movzwl 0x49e608(,%ecx,2),%eax
486b85:	00
486b86:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
486b8d:	00
486b8e:	8b 04 85 80 61 4b 00 	mov    0x4b6180(,%eax,4),%eax
486b95:	83 f8 01             	cmp    $0x1,%eax
486b98:	74 0e                	je     0x486ba8
486b9a:	83 f8 03             	cmp    $0x3,%eax
486b9d:	74 09                	je     0x486ba8
486b9f:	83 fa 5f             	cmp    $0x5f,%edx
486ba2:	74 04                	je     0x486ba8
486ba4:	33 c0                	xor    %eax,%eax
486ba6:	eb 05                	jmp    0x486bad
486ba8:	b8 01 00 00 00       	mov    $0x1,%eax
486bad:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
486bb0:	0f 84 be 39 f8 ff    	je     0x40a574
486bb6:	8b 45 ec             	mov    -0x14(%ebp),%eax
486bb9:	40                   	inc    %eax
486bba:	89 45 ec             	mov    %eax,-0x14(%ebp)
486bbd:	3b 45 f0             	cmp    -0x10(%ebp),%eax
486bc0:	0f 8e 42 ff ff ff    	jle    0x486b08
486bc6:	8b 55 c8             	mov    -0x38(%ebp),%edx
486bc9:	e9 c1 3e f8 ff       	jmp    0x40aa8f
486bce:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486bd1:	83 f9 01             	cmp    $0x1,%ecx
486bd4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486bd7:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
486bde:	0f 8c b1 3e f8 ff    	jl     0x40aa95
486be4:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
486be7:	0f 83 6a 31 00 00    	jae    0x489d57
486bed:	0f b7 19             	movzwl (%ecx),%ebx
486bf0:	83 c1 02             	add    $0x2,%ecx
486bf3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
486bf6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486bf9:	85 c0                	test   %eax,%eax
486bfb:	74 32                	je     0x486c2f
486bfd:	8b c3                	mov    %ebx,%eax
486bff:	25 00 fc 00 00       	and    $0xfc00,%eax
486c04:	3d 00 d8 00 00       	cmp    $0xd800,%eax
486c09:	75 24                	jne    0x486c2f
486c0b:	0f b7 01             	movzwl (%ecx),%eax
486c0e:	81 65 e8 ff 03 00 00 	andl   $0x3ff,-0x18(%ebp)
486c15:	c1 65 e8 0a          	shll   $0xa,-0x18(%ebp)
486c19:	25 ff 03 00 00       	and    $0x3ff,%eax
486c1e:	0b 45 e8             	or     -0x18(%ebp),%eax
486c21:	05 00 00 01 00       	add    $0x10000,%eax
486c26:	83 c1 02             	add    $0x2,%ecx
486c29:	89 45 e8             	mov    %eax,-0x18(%ebp)
486c2c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486c2f:	8b 5d bc             	mov    -0x44(%ebp),%ebx
486c32:	8d 1c 9d a0 e6 4a 00 	lea    0x4ae6a0(,%ebx,4),%ebx
486c39:	89 5d ec             	mov    %ebx,-0x14(%ebp)
486c3c:	8b 1b                	mov    (%ebx),%ebx
486c3e:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
486c41:	89 5d f4             	mov    %ebx,-0xc(%ebp)
486c44:	8b 5d 10             	mov    0x10(%ebp),%ebx
486c47:	72 1f                	jb     0x486c68
486c49:	8b 4d f4             	mov    -0xc(%ebp),%ecx
486c4c:	83 45 ec 04          	addl   $0x4,-0x14(%ebp)
486c50:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
486c53:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486c56:	74 32                	je     0x486c8a
486c58:	8b 5d ec             	mov    -0x14(%ebp),%ebx
486c5b:	8b 1b                	mov    (%ebx),%ebx
486c5d:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
486c60:	89 5d f4             	mov    %ebx,-0xc(%ebp)
486c63:	8b 5d 10             	mov    0x10(%ebp),%ebx
486c66:	73 e1                	jae    0x486c49
486c68:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
486c6c:	0f 84 02 39 f8 ff    	je     0x40a574
486c72:	8b 45 e0             	mov    -0x20(%ebp),%eax
486c75:	40                   	inc    %eax
486c76:	3b 45 f0             	cmp    -0x10(%ebp),%eax
486c79:	89 45 e0             	mov    %eax,-0x20(%ebp)
486c7c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486c7f:	0f 8e 5f ff ff ff    	jle    0x486be4
486c85:	e9 0b 3e f8 ff       	jmp    0x40aa95
486c8a:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
486c8e:	0f 85 e0 38 f8 ff    	jne    0x40a574
486c94:	eb dc                	jmp    0x486c72
486c96:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486c99:	83 f9 01             	cmp    $0x1,%ecx
486c9c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486c9f:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
486ca6:	0f 8c e9 3d f8 ff    	jl     0x40aa95
486cac:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
486caf:	0f 83 a2 30 00 00    	jae    0x489d57
486cb5:	0f b7 19             	movzwl (%ecx),%ebx
486cb8:	83 c1 02             	add    $0x2,%ecx
486cbb:	89 5d e8             	mov    %ebx,-0x18(%ebp)
486cbe:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486cc1:	85 c0                	test   %eax,%eax
486cc3:	74 35                	je     0x486cfa
486cc5:	8b c3                	mov    %ebx,%eax
486cc7:	25 00 fc 00 00       	and    $0xfc00,%eax
486ccc:	3d 00 d8 00 00       	cmp    $0xd800,%eax
486cd1:	75 24                	jne    0x486cf7
486cd3:	0f b7 01             	movzwl (%ecx),%eax
486cd6:	81 65 e8 ff 03 00 00 	andl   $0x3ff,-0x18(%ebp)
486cdd:	c1 65 e8 0a          	shll   $0xa,-0x18(%ebp)
486ce1:	25 ff 03 00 00       	and    $0x3ff,%eax
486ce6:	0b 45 e8             	or     -0x18(%ebp),%eax
486ce9:	05 00 00 01 00       	add    $0x10000,%eax
486cee:	83 c1 02             	add    $0x2,%ecx
486cf1:	89 45 e8             	mov    %eax,-0x18(%ebp)
486cf4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486cf7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486cfa:	83 7d e8 24          	cmpl   $0x24,-0x18(%ebp)
486cfe:	74 2e                	je     0x486d2e
486d00:	83 7d e8 40          	cmpl   $0x40,-0x18(%ebp)
486d04:	74 28                	je     0x486d2e
486d06:	83 7d e8 60          	cmpl   $0x60,-0x18(%ebp)
486d0a:	74 22                	je     0x486d2e
486d0c:	81 7d e8 a0 00 00 00 	cmpl   $0xa0,-0x18(%ebp)
486d13:	72 09                	jb     0x486d1e
486d15:	81 7d e8 ff d7 00 00 	cmpl   $0xd7ff,-0x18(%ebp)
486d1c:	76 10                	jbe    0x486d2e
486d1e:	81 7d e8 00 e0 00 00 	cmpl   $0xe000,-0x18(%ebp)
486d25:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
486d2c:	72 07                	jb     0x486d35
486d2e:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
486d35:	8b 75 c4             	mov    -0x3c(%ebp),%esi
486d38:	39 75 f4             	cmp    %esi,-0xc(%ebp)
486d3b:	0f 84 33 38 f8 ff    	je     0x40a574
486d41:	8b 5d ec             	mov    -0x14(%ebp),%ebx
486d44:	43                   	inc    %ebx
486d45:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
486d48:	89 5d ec             	mov    %ebx,-0x14(%ebp)
486d4b:	8b 5d 10             	mov    0x10(%ebp),%ebx
486d4e:	0f 8e 58 ff ff ff    	jle    0x486cac
486d54:	e9 3c 3d f8 ff       	jmp    0x40aa95
486d59:	83 7d d8 16          	cmpl   $0x16,-0x28(%ebp)
486d5d:	0f 85 9c 01 00 00    	jne    0x486eff
486d63:	83 f9 01             	cmp    $0x1,%ecx
486d66:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486d69:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
486d70:	0f 8c 1c 3d f8 ff    	jl     0x40aa92
486d76:	8b 43 7c             	mov    0x7c(%ebx),%eax
486d79:	89 45 e0             	mov    %eax,-0x20(%ebp)
486d7c:	3b c8                	cmp    %eax,%ecx
486d7e:	0f 83 d3 2f 00 00    	jae    0x489d57
486d84:	0f b7 11             	movzwl (%ecx),%edx
486d87:	83 c1 02             	add    $0x2,%ecx
486d8a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
486d8e:	89 55 f4             	mov    %edx,-0xc(%ebp)
486d91:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486d94:	74 30                	je     0x486dc6
486d96:	8b c2                	mov    %edx,%eax
486d98:	25 00 fc 00 00       	and    $0xfc00,%eax
486d9d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
486da2:	75 22                	jne    0x486dc6
486da4:	0f b7 01             	movzwl (%ecx),%eax
486da7:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
486dad:	c1 e2 0a             	shl    $0xa,%edx
486db0:	25 ff 03 00 00       	and    $0x3ff,%eax
486db5:	0b d0                	or     %eax,%edx
486db7:	81 c2 00 00 01 00    	add    $0x10000,%edx
486dbd:	83 c1 02             	add    $0x2,%ecx
486dc0:	89 55 f4             	mov    %edx,-0xc(%ebp)
486dc3:	89 4d f8             	mov    %ecx,-0x8(%ebp)