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)
486dc6:	8b c2                	mov    %edx,%eax
486dc8:	99                   	cltd
486dc9:	83 e2 7f             	and    $0x7f,%edx
486dcc:	03 c2                	add    %edx,%eax
486dce:	8b 55 f4             	mov    -0xc(%ebp),%edx
486dd1:	c1 f8 07             	sar    $0x7,%eax
486dd4:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
486ddb:	c1 e0 07             	shl    $0x7,%eax
486dde:	81 e2 7f 00 00 80    	and    $0x8000007f,%edx
486de4:	79 05                	jns    0x486deb
486de6:	4a                   	dec    %edx
486de7:	83 ca 80             	or     $0xffffff80,%edx
486dea:	42                   	inc    %edx
486deb:	03 c2                	add    %edx,%eax
486ded:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
486df4:	00
486df5:	0f b6 14 c5 0a b1 4a 	movzbl 0x4ab10a(,%eax,8),%edx
486dfc:	00
486dfd:	8b 43 7c             	mov    0x7c(%ebx),%eax
486e00:	89 55 f4             	mov    %edx,-0xc(%ebp)
486e03:	3b c8                	cmp    %eax,%ecx
486e05:	0f 83 b3 00 00 00    	jae    0x486ebe
486e0b:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
486e0e:	8b f2                	mov    %edx,%esi
486e10:	0f b7 11             	movzwl (%ecx),%edx
486e13:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
486e1a:	89 55 ec             	mov    %edx,-0x14(%ebp)
486e1d:	85 db                	test   %ebx,%ebx
486e1f:	74 32                	je     0x486e53
486e21:	8b c2                	mov    %edx,%eax
486e23:	25 00 fc 00 00       	and    $0xfc00,%eax
486e28:	3d 00 d8 00 00       	cmp    $0xd800,%eax
486e2d:	75 24                	jne    0x486e53
486e2f:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
486e33:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
486e39:	25 ff 03 00 00       	and    $0x3ff,%eax
486e3e:	c1 e2 0a             	shl    $0xa,%edx
486e41:	0b d0                	or     %eax,%edx
486e43:	81 c2 00 00 01 00    	add    $0x10000,%edx
486e49:	89 55 ec             	mov    %edx,-0x14(%ebp)
486e4c:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
486e53:	8b 4d ec             	mov    -0x14(%ebp),%ecx
486e56:	8b c2                	mov    %edx,%eax
486e58:	99                   	cltd
486e59:	83 e2 7f             	and    $0x7f,%edx
486e5c:	03 c2                	add    %edx,%eax
486e5e:	c1 f8 07             	sar    $0x7,%eax
486e61:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
486e68:	c1 e0 07             	shl    $0x7,%eax
486e6b:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
486e71:	79 05                	jns    0x486e78
486e73:	49                   	dec    %ecx
486e74:	83 c9 80             	or     $0xffffff80,%ecx
486e77:	41                   	inc    %ecx
486e78:	03 c1                	add    %ecx,%eax
486e7a:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
486e81:	00
486e82:	0f b6 0c c5 0a b1 4a 	movzbl 0x4ab10a(,%eax,8),%ecx
486e89:	00
486e8a:	b8 01 00 00 00       	mov    $0x1,%eax
486e8f:	d3 e0                	shl    %cl,%eax
486e91:	85 04 b5 2c e5 49 00 	test   %eax,0x49e52c(,%esi,4)
486e98:	74 1b                	je     0x486eb5
486e9a:	8b 45 f4             	mov    -0xc(%ebp),%eax
486e9d:	8b f1                	mov    %ecx,%esi
486e9f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486ea2:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
486ea5:	8b 45 e0             	mov    -0x20(%ebp),%eax
486ea8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486eab:	3b c8                	cmp    %eax,%ecx
486ead:	0f 82 5d ff ff ff    	jb     0x486e10
486eb3:	eb 06                	jmp    0x486ebb
486eb5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486eb8:	8b 45 e0             	mov    -0x20(%ebp),%eax
486ebb:	8b 5d 10             	mov    0x10(%ebp),%ebx
486ebe:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
486ec5:	74 20                	je     0x486ee7
486ec7:	3b c8                	cmp    %eax,%ecx
486ec9:	72 1c                	jb     0x486ee7
486ecb:	3b 8b 88 00 00 00    	cmp    0x88(%ebx),%ecx
486ed1:	76 14                	jbe    0x486ee7
486ed3:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
486eda:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
486ee1:	0f 8f 46 d2 ff ff    	jg     0x48412d
486ee7:	8b 45 e8             	mov    -0x18(%ebp),%eax
486eea:	40                   	inc    %eax
486eeb:	89 45 e8             	mov    %eax,-0x18(%ebp)
486eee:	3b 45 f0             	cmp    -0x10(%ebp),%eax
486ef1:	0f 8e 7f fe ff ff    	jle    0x486d76
486ef7:	8b 55 c8             	mov    -0x38(%ebp),%edx
486efa:	e9 93 3b f8 ff       	jmp    0x40aa92
486eff:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486f02:	85 c0                	test   %eax,%eax
486f04:	0f 84 df 07 00 00    	je     0x4876e9
486f0a:	8b 45 d8             	mov    -0x28(%ebp),%eax
486f0d:	83 c0 fa             	add    $0xfffffffa,%eax
486f10:	83 f8 0f             	cmp    $0xf,%eax
486f13:	0f 87 fe 2b 00 00    	ja     0x489b17
486f19:	8b 45 d8             	mov    -0x28(%ebp),%eax
486f1c:	83 c0 fa             	add    $0xfffffffa,%eax
486f1f:	ff 24 85 7e b9 48 00 	jmp    *0x48b97e(,%eax,4)
486f26:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486f29:	83 f9 01             	cmp    $0x1,%ecx
486f2c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486f2f:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
486f36:	0f 8c 59 3b f8 ff    	jl     0x40aa95
486f3c:	8d 51 02             	lea    0x2(%ecx),%edx
486f3f:	89 55 e0             	mov    %edx,-0x20(%ebp)
486f42:	8b 53 7c             	mov    0x7c(%ebx),%edx
486f45:	3b ca                	cmp    %edx,%ecx
486f47:	0f 83 0a 2e 00 00    	jae    0x489d57
486f4d:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
486f51:	0f 84 a9 00 00 00    	je     0x487000
486f57:	8b 45 e4             	mov    -0x1c(%ebp),%eax
486f5a:	50                   	push   %eax
486f5b:	8d 43 1c             	lea    0x1c(%ebx),%eax
486f5e:	50                   	push   %eax
486f5f:	52                   	push   %edx
486f60:	8b 53 18             	mov    0x18(%ebx),%edx
486f63:	e8 96 20 f8 ff       	call   0x408ffe
486f68:	83 c4 0c             	add    $0xc,%esp
486f6b:	85 c0                	test   %eax,%eax
486f6d:	0f 85 01 36 f8 ff    	jne    0x40a574
486f73:	8b 4d f8             	mov    -0x8(%ebp),%ecx
486f76:	8b 55 e0             	mov    -0x20(%ebp),%edx
486f79:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
486f80:	74 2e                	je     0x486fb0
486f82:	3b 53 7c             	cmp    0x7c(%ebx),%edx
486f85:	72 29                	jb     0x486fb0
486f87:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
486f8b:	75 23                	jne    0x486fb0
486f8d:	83 7b 1c 02          	cmpl   $0x2,0x1c(%ebx)
486f91:	75 1d                	jne    0x486fb0
486f93:	66 8b 01             	mov    (%ecx),%ax
486f96:	66 3b 43 34          	cmp    0x34(%ebx),%ax
486f9a:	75 14                	jne    0x486fb0
486f9c:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
486fa3:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
486faa:	0f 8f 7d d1 ff ff    	jg     0x48412d
486fb0:	83 c1 02             	add    $0x2,%ecx
486fb3:	83 c2 02             	add    $0x2,%edx
486fb6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486fb9:	89 55 e0             	mov    %edx,-0x20(%ebp)
486fbc:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
486fbf:	73 27                	jae    0x486fe8
486fc1:	66 8b 01             	mov    (%ecx),%ax
486fc4:	c7 45 ec 00 fc 00 00 	movl   $0xfc00,-0x14(%ebp)
486fcb:	66 23 45 ec          	and    -0x14(%ebp),%ax
486fcf:	c7 45 ec 00 dc 00 00 	movl   $0xdc00,-0x14(%ebp)
486fd6:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
486fda:	75 0c                	jne    0x486fe8
486fdc:	83 c1 02             	add    $0x2,%ecx
486fdf:	83 c2 02             	add    $0x2,%edx
486fe2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486fe5:	89 55 e0             	mov    %edx,-0x20(%ebp)
486fe8:	8b 45 f4             	mov    -0xc(%ebp),%eax
486feb:	40                   	inc    %eax
486fec:	89 45 f4             	mov    %eax,-0xc(%ebp)
486fef:	3b 45 f0             	cmp    -0x10(%ebp),%eax
486ff2:	0f 8e 4a ff ff ff    	jle    0x486f42
486ff8:	8b 55 c8             	mov    -0x38(%ebp),%edx
486ffb:	e9 92 3a f8 ff       	jmp    0x40aa92
487000:	8b 43 1c             	mov    0x1c(%ebx),%eax
487003:	03 c0                	add    %eax,%eax
487005:	2b d0                	sub    %eax,%edx
487007:	3b ca                	cmp    %edx,%ecx
487009:	0f 87 67 ff ff ff    	ja     0x486f76
48700f:	66 8b 01             	mov    (%ecx),%ax
487012:	66 3b 43 34          	cmp    0x34(%ebx),%ax
487016:	0f 85 5a ff ff ff    	jne    0x486f76
48701c:	83 7b 1c 01          	cmpl   $0x1,0x1c(%ebx)
487020:	0f 84 4e 35 f8 ff    	je     0x40a574
487026:	8b 55 e0             	mov    -0x20(%ebp),%edx
487029:	66 8b 02             	mov    (%edx),%ax
48702c:	66 3b 43 36          	cmp    0x36(%ebx),%ax