485d22:	79 05                	jns    0x485d29
485d24:	48                   	dec    %eax
485d25:	83 c8 80             	or     $0xffffff80,%eax
485d28:	40                   	inc    %eax
485d29:	03 c8                	add    %eax,%ecx
485d2b:	0f b7 04 4d 08 e6 49 	movzwl 0x49e608(,%ecx,2),%eax
485d32:	00
485d33:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
485d36:	8b 04 c5 0c b1 4a 00 	mov    0x4ab10c(,%eax,8),%eax
485d3d:	03 c2                	add    %edx,%eax
485d3f:	eb 13                	jmp    0x485d54
485d41:	81 fa ff 00 00 00    	cmp    $0xff,%edx
485d47:	77 09                	ja     0x485d52
485d49:	8b 43 40             	mov    0x40(%ebx),%eax
485d4c:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
485d50:	eb 02                	jmp    0x485d54
485d52:	8b c2                	mov    %edx,%eax
485d54:	3b d1                	cmp    %ecx,%edx
485d56:	0f 84 18 48 f8 ff    	je     0x40a574
485d5c:	3b c1                	cmp    %ecx,%eax
485d5e:	0f 85 fc 45 f8 ff    	jne    0x40a360
485d64:	e9 0b 48 f8 ff       	jmp    0x40a574
485d69:	0f b7 10             	movzwl (%eax),%edx
485d6c:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
485d70:	83 c0 02             	add    $0x2,%eax
485d73:	89 45 f8             	mov    %eax,-0x8(%ebp)
485d76:	3b ca                	cmp    %edx,%ecx
485d78:	0f 84 f6 47 f8 ff    	je     0x40a574
485d7e:	83 fe 20             	cmp    $0x20,%esi
485d81:	75 17                	jne    0x485d9a
485d83:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
485d89:	77 07                	ja     0x485d92
485d8b:	8b 43 40             	mov    0x40(%ebx),%eax
485d8e:	0f b6 0c 08          	movzbl (%eax,%ecx,1),%ecx
485d92:	3b ca                	cmp    %edx,%ecx
485d94:	0f 84 da 47 f8 ff    	je     0x40a574
485d9a:	83 c7 04             	add    $0x4,%edi
485d9d:	89 7d cc             	mov    %edi,-0x34(%ebp)
485da0:	e9 bb 45 f8 ff       	jmp    0x40a360
485da5:	0f b7 47 02          	movzwl 0x2(%edi),%eax
485da9:	89 45 f0             	mov    %eax,-0x10(%ebp)
485dac:	89 45 dc             	mov    %eax,-0x24(%ebp)
485daf:	83 c7 04             	add    $0x4,%edi
485db2:	e9 d0 00 00 00       	jmp    0x485e87
485db7:	0f b7 57 02          	movzwl 0x2(%edi),%edx
485dbb:	33 c0                	xor    %eax,%eax
485dbd:	89 45 dc             	mov    %eax,-0x24(%ebp)
485dc0:	89 55 f0             	mov    %edx,-0x10(%ebp)
485dc3:	83 f9 42             	cmp    $0x42,%ecx
485dc6:	74 12                	je     0x485dda
485dc8:	83 f9 4f             	cmp    $0x4f,%ecx
485dcb:	74 0d                	je     0x485dda
485dcd:	33 d2                	xor    %edx,%edx
485dcf:	89 55 c8             	mov    %edx,-0x38(%ebp)
485dd2:	83 c7 04             	add    $0x4,%edi
485dd5:	e9 ad 00 00 00       	jmp    0x485e87
485dda:	ba 01 00 00 00       	mov    $0x1,%edx
485ddf:	89 55 c8             	mov    %edx,-0x38(%ebp)
485de2:	83 c7 04             	add    $0x4,%edi
485de5:	e9 9d 00 00 00       	jmp    0x485e87
485dea:	33 c0                	xor    %eax,%eax
485dec:	b9 01 00 00 00       	mov    $0x1,%ecx
485df1:	89 4d d0             	mov    %ecx,-0x30(%ebp)
485df4:	89 45 dc             	mov    %eax,-0x24(%ebp)
485df7:	c7 45 f0 ff ff ff 7f 	movl   $0x7fffffff,-0x10(%ebp)
485dfe:	83 c7 02             	add    $0x2,%edi
485e01:	e9 84 00 00 00       	jmp    0x485e8a
485e06:	b9 01 00 00 00       	mov    $0x1,%ecx
485e0b:	8b c1                	mov    %ecx,%eax
485e0d:	89 4d d0             	mov    %ecx,-0x30(%ebp)
485e10:	89 45 dc             	mov    %eax,-0x24(%ebp)
485e13:	c7 45 f0 ff ff ff 7f 	movl   $0x7fffffff,-0x10(%ebp)
485e1a:	83 c7 02             	add    $0x2,%edi
485e1d:	eb 6b                	jmp    0x485e8a
485e1f:	b9 01 00 00 00       	mov    $0x1,%ecx
485e24:	33 c0                	xor    %eax,%eax
485e26:	89 4d d0             	mov    %ecx,-0x30(%ebp)
485e29:	89 45 dc             	mov    %eax,-0x24(%ebp)
485e2c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
485e2f:	83 c7 02             	add    $0x2,%edi
485e32:	eb 56                	jmp    0x485e8a
485e34:	0f b7 5f 02          	movzwl 0x2(%edi),%ebx
485e38:	33 c0                	xor    %eax,%eax
485e3a:	b9 01 00 00 00       	mov    $0x1,%ecx
485e3f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
485e42:	89 45 dc             	mov    %eax,-0x24(%ebp)
485e45:	89 5d f0             	mov    %ebx,-0x10(%ebp)
485e48:	83 c7 04             	add    $0x4,%edi
485e4b:	eb 3d                	jmp    0x485e8a
485e4d:	83 fe 48             	cmp    $0x48,%esi
485e50:	1b c0                	sbb    %eax,%eax
485e52:	83 e0 f3             	and    $0xfffffff3,%eax
485e55:	83 c0 48             	add    $0x48,%eax
485e58:	8b ce                	mov    %esi,%ecx
485e5a:	2b c8                	sub    %eax,%ecx
485e5c:	0f b6 d1             	movzbl %cl,%edx
485e5f:	0f be 81 7c e4 49 00 	movsbl 0x49e47c(%ecx),%eax
485e66:	0f be 89 20 e5 49 00 	movsbl 0x49e520(%ecx),%ecx
485e6d:	83 e2 01             	and    $0x1,%edx
485e70:	83 c7 02             	add    $0x2,%edi
485e73:	89 55 c8             	mov    %edx,-0x38(%ebp)
485e76:	89 45 dc             	mov    %eax,-0x24(%ebp)
485e79:	89 4d f0             	mov    %ecx,-0x10(%ebp)
485e7c:	85 c9                	test   %ecx,%ecx
485e7e:	75 07                	jne    0x485e87
485e80:	c7 45 f0 ff ff ff 7f 	movl   $0x7fffffff,-0x10(%ebp)
485e87:	8b 4d d0             	mov    -0x30(%ebp),%ecx
485e8a:	0f b7 1f             	movzwl (%edi),%ebx
485e8d:	83 c7 02             	add    $0x2,%edi
485e90:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
485e94:	89 5d e8             	mov    %ebx,-0x18(%ebp)
485e97:	8b 5d 10             	mov    0x10(%ebp),%ebx
485e9a:	89 7d cc             	mov    %edi,-0x34(%ebp)
485e9d:	74 39                	je     0x485ed8
485e9f:	8b 45 e8             	mov    -0x18(%ebp),%eax
485ea2:	25 00 fc 00 00       	and    $0xfc00,%eax
485ea7:	3d 00 d8 00 00       	cmp    $0xd800,%eax
485eac:	75 27                	jne    0x485ed5
485eae:	0f b7 07             	movzwl (%edi),%eax
485eb1:	8b 5d e8             	mov    -0x18(%ebp),%ebx
485eb4:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
485eba:	25 ff 03 00 00       	and    $0x3ff,%eax
485ebf:	c1 e3 0a             	shl    $0xa,%ebx
485ec2:	0b c3                	or     %ebx,%eax
485ec4:	8b 5d 10             	mov    0x10(%ebp),%ebx
485ec7:	05 00 00 01 00       	add    $0x10000,%eax
485ecc:	83 c7 02             	add    $0x2,%edi
485ecf:	89 45 e8             	mov    %eax,-0x18(%ebp)
485ed2:	89 7d cc             	mov    %edi,-0x34(%ebp)
485ed5:	8b 45 dc             	mov    -0x24(%ebp),%eax
485ed8:	83 fe 48             	cmp    $0x48,%esi
485edb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
485ede:	0f 82 0f 03 00 00    	jb     0x4861f3
485ee4:	85 f6                	test   %esi,%esi
485ee6:	74 4e                	je     0x485f36
485ee8:	83 7d e8 7f          	cmpl   $0x7f,-0x18(%ebp)
485eec:	76 48                	jbe    0x485f36
485eee:	8b 45 e8             	mov    -0x18(%ebp),%eax
485ef1:	99                   	cltd
485ef2:	83 e2 7f             	and    $0x7f,%edx
485ef5:	03 c2                	add    %edx,%eax
485ef7:	8b 55 e8             	mov    -0x18(%ebp),%edx
485efa:	c1 f8 07             	sar    $0x7,%eax
485efd:	0f b6 88 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%ecx
485f04:	8b c2                	mov    %edx,%eax
485f06:	c1 e1 07             	shl    $0x7,%ecx
485f09:	25 7f 00 00 80       	and    $0x8000007f,%eax
485f0e:	79 05                	jns    0x485f15
485f10:	48                   	dec    %eax
485f11:	83 c8 80             	or     $0xffffff80,%eax
485f14:	40                   	inc    %eax
485f15:	03 c8                	add    %eax,%ecx
485f17:	0f b7 04 4d 08 e6 49 	movzwl 0x49e608(,%ecx,2),%eax
485f1e:	00
485f1f:	8b 4d d0             	mov    -0x30(%ebp),%ecx
485f22:	8b 04 c5 0c b1 4a 00 	mov    0x4ab10c(,%eax,8),%eax
485f29:	03 c2                	add    %edx,%eax
485f2b:	8b 55 c8             	mov    -0x38(%ebp),%edx
485f2e:	89 45 e0             	mov    %eax,-0x20(%ebp)
485f31:	8b 45 dc             	mov    -0x24(%ebp),%eax
485f34:	eb 2a                	jmp    0x485f60
485f36:	81 7d e8 ff 00 00 00 	cmpl   $0xff,-0x18(%ebp)
485f3d:	8b 5d 10             	mov    0x10(%ebp),%ebx
485f40:	77 15                	ja     0x485f57
485f42:	8b 75 e8             	mov    -0x18(%ebp),%esi
485f45:	8b 43 40             	mov    0x40(%ebx),%eax
485f48:	0f b6 04 30          	movzbl (%eax,%esi,1),%eax
485f4c:	8b 75 e4             	mov    -0x1c(%ebp),%esi
485f4f:	89 45 e0             	mov    %eax,-0x20(%ebp)
485f52:	8b 45 dc             	mov    -0x24(%ebp),%eax
485f55:	eb 09                	jmp    0x485f60
485f57:	8b 5d e8             	mov    -0x18(%ebp),%ebx
485f5a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
485f5d:	8b 5d 10             	mov    0x10(%ebp),%ebx
485f60:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
485f67:	85 f6                	test   %esi,%esi
485f69:	74 7e                	je     0x485fe9
485f6b:	83 f8 01             	cmp    $0x1,%eax
485f6e:	0f 8c b3 00 00 00    	jl     0x486027
485f74:	8b 45 f8             	mov    -0x8(%ebp),%eax
485f77:	3b 43 7c             	cmp    0x7c(%ebx),%eax
485f7a:	0f 83 25 4c f8 ff    	jae    0x40aba5
485f80:	0f b7 30             	movzwl (%eax),%esi
485f83:	83 c0 02             	add    $0x2,%eax
485f86:	89 45 f8             	mov    %eax,-0x8(%ebp)
485f89:	8b c6                	mov    %esi,%eax
485f8b:	25 00 fc 00 00       	and    $0xfc00,%eax
485f90:	3d 00 d8 00 00       	cmp    $0xd800,%eax
485f95:	8b 45 f8             	mov    -0x8(%ebp),%eax
485f98:	89 75 d8             	mov    %esi,-0x28(%ebp)
485f9b:	75 24                	jne    0x485fc1
485f9d:	0f b7 00             	movzwl (%eax),%eax
485fa0:	25 ff 03 00 00       	and    $0x3ff,%eax
485fa5:	81 e6 ff 03 00 00    	and    $0x3ff,%esi
485fab:	c1 e6 0a             	shl    $0xa,%esi
485fae:	0b c6                	or     %esi,%eax
485fb0:	05 00 00 01 00       	add    $0x10000,%eax
485fb5:	89 45 d8             	mov    %eax,-0x28(%ebp)
485fb8:	8b 45 f8             	mov    -0x8(%ebp),%eax
485fbb:	83 c0 02             	add    $0x2,%eax
485fbe:	89 45 f8             	mov    %eax,-0x8(%ebp)
485fc1:	8b 5d d8             	mov    -0x28(%ebp),%ebx
485fc4:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
485fc7:	0f 84 a7 45 f8 ff    	je     0x40a574
485fcd:	8b 75 e0             	mov    -0x20(%ebp),%esi
485fd0:	3b f3                	cmp    %ebx,%esi
485fd2:	0f 84 9c 45 f8 ff    	je     0x40a574
485fd8:	8b 5d f4             	mov    -0xc(%ebp),%ebx
485fdb:	43                   	inc    %ebx
485fdc:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
485fdf:	89 5d f4             	mov    %ebx,-0xc(%ebp)
485fe2:	8b 5d 10             	mov    0x10(%ebp),%ebx
485fe5:	7e 8d                	jle    0x485f74
485fe7:	eb 41                	jmp    0x48602a
485fe9:	83 f8 01             	cmp    $0x1,%eax
485fec:	8b 45 f8             	mov    -0x8(%ebp),%eax
485fef:	7c 39                	jl     0x48602a
485ff1:	3b 43 7c             	cmp    0x7c(%ebx),%eax
485ff4:	0f 83 ab 4b f8 ff    	jae    0x40aba5
485ffa:	0f b7 30             	movzwl (%eax),%esi
485ffd:	39 75 e8             	cmp    %esi,-0x18(%ebp)
486000:	0f 84 6e 45 f8 ff    	je     0x40a574
486006:	0f b7 18             	movzwl (%eax),%ebx
486009:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
48600c:	0f 84 62 45 f8 ff    	je     0x40a574
486012:	8b 5d f4             	mov    -0xc(%ebp),%ebx
486015:	43                   	inc    %ebx
486016:	83 c0 02             	add    $0x2,%eax
486019:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
48601c:	89 5d f4             	mov    %ebx,-0xc(%ebp)
48601f:	8b 5d 10             	mov    0x10(%ebp),%ebx
486022:	89 45 f8             	mov    %eax,-0x8(%ebp)
486025:	7e ca                	jle    0x485ff1
486027:	8b 45 f8             	mov    -0x8(%ebp),%eax
48602a:	8b 75 f0             	mov    -0x10(%ebp),%esi
48602d:	39 75 dc             	cmp    %esi,-0x24(%ebp)
486030:	8b 75 e4             	mov    -0x1c(%ebp),%esi
486033:	0f 84 27 43 f8 ff    	je     0x40a360
486039:	85 d2                	test   %edx,%edx
48603b:	0f 85 8d 40 00 00    	jne    0x48a0ce
486041:	8b d0                	mov    %eax,%edx
486043:	89 55 d8             	mov    %edx,-0x28(%ebp)
486046:	85 f6                	test   %esi,%esi
486048:	0f 84 04 01 00 00    	je     0x486152
48604e:	8b 75 dc             	mov    -0x24(%ebp),%esi
486051:	3b 75 f0             	cmp    -0x10(%ebp),%esi
486054:	7d 6e                	jge    0x4860c4
486056:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
48605d:	3b 43 7c             	cmp    0x7c(%ebx),%eax
486060:	0f 83 c2 00 00 00    	jae    0x486128
486066:	0f b7 00             	movzwl (%eax),%eax
486069:	8b 55 f8             	mov    -0x8(%ebp),%edx
48606c:	89 45 c8             	mov    %eax,-0x38(%ebp)
48606f:	25 00 fc 00 00       	and    $0xfc00,%eax
486074:	3d 00 d8 00 00       	cmp    $0xd800,%eax
486079:	75 25                	jne    0x4860a0
48607b:	0f b7 42 02          	movzwl 0x2(%edx),%eax
48607f:	81 65 c8 ff 03 00 00 	andl   $0x3ff,-0x38(%ebp)
486086:	c1 65 c8 0a          	shll   $0xa,-0x38(%ebp)
48608a:	25 ff 03 00 00       	and    $0x3ff,%eax
48608f:	0b 45 c8             	or     -0x38(%ebp),%eax
486092:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
486099:	05 00 00 01 00       	add    $0x10000,%eax
48609e:	eb 03                	jmp    0x4860a3
4860a0:	8b 45 c8             	mov    -0x38(%ebp),%eax
4860a3:	39 45 e8             	cmp    %eax,-0x18(%ebp)
4860a6:	74 16                	je     0x4860be
4860a8:	39 45 e0             	cmp    %eax,-0x20(%ebp)
4860ab:	74 11                	je     0x4860be
4860ad:	8b 45 f4             	mov    -0xc(%ebp),%eax
4860b0:	46                   	inc    %esi
4860b1:	8d 14 42             	lea    (%edx,%eax,2),%edx
4860b4:	89 55 f8             	mov    %edx,-0x8(%ebp)
4860b7:	8b c2                	mov    %edx,%eax
4860b9:	3b 75 f0             	cmp    -0x10(%ebp),%esi
4860bc:	7c 98                	jl     0x486056
4860be:	8b 45 f8             	mov    -0x8(%ebp),%eax
4860c1:	8b 55 d8             	mov    -0x28(%ebp),%edx
4860c4:	85 c9                	test   %ecx,%ecx
4860c6:	0f 85 94 42 f8 ff    	jne    0x40a360
4860cc:	3b c2                	cmp    %edx,%eax
4860ce:	0f 84 fd 42 f8 ff    	je     0x40a3d1
4860d4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4860d7:	8b 75 d8             	mov    -0x28(%ebp),%esi
4860da:	8b 45 18             	mov    0x18(%ebp),%eax
4860dd:	40                   	inc    %eax
4860de:	50                   	push   %eax
4860df:	ff 75 14             	push   0x14(%ebp)
4860e2:	8b d7                	mov    %edi,%edx
4860e4:	53                   	push   %ebx
4860e5:	ff 75 0c             	push   0xc(%ebp)
4860e8:	ff 75 08             	push   0x8(%ebp)
4860eb:	e8 10 42 f8 ff       	call   0x40a300
4860f0:	83 c4 14             	add    $0x14,%esp
4860f3:	85 c0                	test   %eax,%eax
4860f5:	0f 85 cc 43 f8 ff    	jne    0x40a4c7
4860fb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4860fe:	83 e9 02             	sub    $0x2,%ecx
486101:	ba 00 fc 00 00       	mov    $0xfc00,%edx
486106:	66 8b 01             	mov    (%ecx),%ax
486109:	66 23 c2             	and    %dx,%ax
48610c:	ba 00 dc 00 00       	mov    $0xdc00,%edx
486111:	89 4d f8             	mov    %ecx,-0x8(%ebp)
486114:	66 3b c2             	cmp    %dx,%ax
486117:	75 06                	jne    0x48611f
486119:	83 e9 02             	sub    $0x2,%ecx
48611c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48611f:	3b ce                	cmp    %esi,%ecx
486121:	75 b7                	jne    0x4860da
486123:	e9 a9 42 f8 ff       	jmp    0x40a3d1
486128:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
48612f:	74 90                	je     0x4860c1
486131:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
486137:	76 88                	jbe    0x4860c1
486139:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
486140:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
486147:	0f 8f e0 df ff ff    	jg     0x48412d
48614d:	e9 6f ff ff ff       	jmp    0x4860c1
486152:	8b 55 dc             	mov    -0x24(%ebp),%edx
486155:	3b 55 f0             	cmp    -0x10(%ebp),%edx
486158:	7d 50                	jge    0x4861aa
48615a:	8b 75 e8             	mov    -0x18(%ebp),%esi
48615d:	3b 43 7c             	cmp    0x7c(%ebx),%eax
486160:	73 23                	jae    0x486185
486162:	0f b7 18             	movzwl (%eax),%ebx
486165:	3b f3                	cmp    %ebx,%esi
486167:	8b 5d 10             	mov    0x10(%ebp),%ebx
48616a:	74 3e                	je     0x4861aa
48616c:	0f b7 30             	movzwl (%eax),%esi
48616f:	39 75 e0             	cmp    %esi,-0x20(%ebp)
486172:	8b 75 e8             	mov    -0x18(%ebp),%esi
486175:	74 33                	je     0x4861aa
486177:	83 c0 02             	add    $0x2,%eax
48617a:	42                   	inc    %edx
48617b:	89 45 f8             	mov    %eax,-0x8(%ebp)
48617e:	3b 55 f0             	cmp    -0x10(%ebp),%edx
486181:	7c da                	jl     0x48615d
486183:	eb 25                	jmp    0x4861aa
486185:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
48618c:	74 1c                	je     0x4861aa
48618e:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
486194:	76 14                	jbe    0x4861aa
486196:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
48619d:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4861a4:	0f 8f 83 df ff ff    	jg     0x48412d
4861aa:	85 c9                	test   %ecx,%ecx
4861ac:	0f 85 ae 41 f8 ff    	jne    0x40a360
4861b2:	8b 75 d8             	mov    -0x28(%ebp),%esi
4861b5:	3b c6                	cmp    %esi,%eax
4861b7:	0f 84 14 42 f8 ff    	je     0x40a3d1