5ce9cf:	80 e1 07             	and    $0x7,%cl
5ce9d2:	88 42 02             	mov    %al,0x2(%edx)
5ce9d5:	8a 45 0b             	mov    0xb(%ebp),%al
5ce9d8:	80 c9 f0             	or     $0xf0,%cl
5ce9db:	80 cb 80             	or     $0x80,%bl
5ce9de:	88 42 03             	mov    %al,0x3(%edx)
5ce9e1:	88 5a 01             	mov    %bl,0x1(%edx)
5ce9e4:	b8 04 00 00 00       	mov    $0x4,%eax
5ce9e9:	88 0a                	mov    %cl,(%edx)
5ce9eb:	5b                   	pop    %ebx
5ce9ec:	5d                   	pop    %ebp
5ce9ed:	c3                   	ret
5ce9ee:	cc                   	int3
5ce9ef:	cc                   	int3
5ce9f0:	55                   	push   %ebp
5ce9f1:	8b ec                	mov    %esp,%ebp
5ce9f3:	8b 55 08             	mov    0x8(%ebp),%edx
5ce9f6:	0f b7 0a             	movzwl (%edx),%ecx
5ce9f9:	8d 81 00 28 ff ff    	lea    -0xd800(%ecx),%eax
5ce9ff:	3d ff 07 00 00       	cmp    $0x7ff,%eax
5cea04:	76 25                	jbe    0x5cea2b
5cea06:	81 f9 fe ff 00 00    	cmp    $0xfffe,%ecx
5cea0c:	73 75                	jae    0x5cea83
5cea0e:	8d 81 30 02 ff ff    	lea    -0xfdd0(%ecx),%eax
5cea14:	83 f8 1f             	cmp    $0x1f,%eax
5cea17:	76 6a                	jbe    0x5cea83
5cea19:	8b 45 0c             	mov    0xc(%ebp),%eax
5cea1c:	89 08                	mov    %ecx,(%eax)
5cea1e:	8b 45 10             	mov    0x10(%ebp),%eax
5cea21:	c6 00 00             	movb   $0x0,(%eax)
5cea24:	b8 01 00 00 00       	mov    $0x1,%eax
5cea29:	5d                   	pop    %ebp
5cea2a:	c3                   	ret
5cea2b:	3d 00 04 00 00       	cmp    $0x400,%eax
5cea30:	73 51                	jae    0x5cea83
5cea32:	0f b7 52 02          	movzwl 0x2(%edx),%edx
5cea36:	8d 82 00 24 ff ff    	lea    -0xdc00(%edx),%eax
5cea3c:	3d 00 04 00 00       	cmp    $0x400,%eax
5cea41:	73 40                	jae    0x5cea83
5cea43:	56                   	push   %esi
5cea44:	c1 e1 0a             	shl    $0xa,%ecx
5cea47:	8d b2 00 24 a0 fc    	lea    -0x35fdc00(%edx),%esi
5cea4d:	03 f1                	add    %ecx,%esi
5cea4f:	56                   	push   %esi
5cea50:	e8 cb fe ff ff       	call   0x5ce920
5cea55:	83 c4 04             	add    $0x4,%esp
5cea58:	84 c0                	test   %al,%al
5cea5a:	8b 45 0c             	mov    0xc(%ebp),%eax
5cea5d:	74 10                	je     0x5cea6f
5cea5f:	89 30                	mov    %esi,(%eax)
5cea61:	8b 45 10             	mov    0x10(%ebp),%eax
5cea64:	5e                   	pop    %esi
5cea65:	c6 00 00             	movb   $0x0,(%eax)
5cea68:	b8 02 00 00 00       	mov    $0x2,%eax
5cea6d:	5d                   	pop    %ebp
5cea6e:	c3                   	ret
5cea6f:	c7 00 3f 00 00 00    	movl   $0x3f,(%eax)
5cea75:	8b 45 10             	mov    0x10(%ebp),%eax
5cea78:	5e                   	pop    %esi
5cea79:	c6 00 01             	movb   $0x1,(%eax)
5cea7c:	b8 02 00 00 00       	mov    $0x2,%eax
5cea81:	5d                   	pop    %ebp
5cea82:	c3                   	ret
5cea83:	8b 45 0c             	mov    0xc(%ebp),%eax
5cea86:	c7 00 3f 00 00 00    	movl   $0x3f,(%eax)
5cea8c:	8b 45 10             	mov    0x10(%ebp),%eax
5cea8f:	c6 00 01             	movb   $0x1,(%eax)
5cea92:	b8 01 00 00 00       	mov    $0x1,%eax
5cea97:	5d                   	pop    %ebp
5cea98:	c3                   	ret
5cea99:	cc                   	int3
5cea9a:	cc                   	int3
5cea9b:	cc                   	int3
5cea9c:	cc                   	int3
5cea9d:	cc                   	int3
5cea9e:	cc                   	int3
5cea9f:	cc                   	int3
5ceaa0:	55                   	push   %ebp
5ceaa1:	8b ec                	mov    %esp,%ebp
5ceaa3:	51                   	push   %ecx
5ceaa4:	8d 45 ff             	lea    -0x1(%ebp),%eax
5ceaa7:	50                   	push   %eax
5ceaa8:	8d 45 fe             	lea    -0x2(%ebp),%eax
5ceaab:	50                   	push   %eax
5ceaac:	8d 45 fd             	lea    -0x3(%ebp),%eax
5ceaaf:	50                   	push   %eax
5ceab0:	ff 75 14             	push   0x14(%ebp)
5ceab3:	ff 75 10             	push   0x10(%ebp)
5ceab6:	ff 75 0c             	push   0xc(%ebp)
5ceab9:	6a 00                	push   $0x0
5ceabb:	ff 75 08             	push   0x8(%ebp)
5ceabe:	e8 fd fb ff ff       	call   0x5ce6c0
5ceac3:	83 c4 20             	add    $0x20,%esp
5ceac6:	8b e5                	mov    %ebp,%esp
5ceac8:	5d                   	pop    %ebp
5ceac9:	c3                   	ret
5ceaca:	cc                   	int3
5ceacb:	cc                   	int3
5ceacc:	cc                   	int3
5ceacd:	cc                   	int3
5ceace:	cc                   	int3
5ceacf:	cc                   	int3
5cead0:	55                   	push   %ebp
5cead1:	8b ec                	mov    %esp,%ebp
5cead3:	83 ec 08             	sub    $0x8,%esp
5cead6:	53                   	push   %ebx
5cead7:	56                   	push   %esi
5cead8:	8b f1                	mov    %ecx,%esi
5ceada:	32 db                	xor    %bl,%bl
5ceadc:	83 c9 ff             	or     $0xffffffff,%ecx
5ceadf:	57                   	push   %edi
5ceae0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5ceae3:	8b 46 14             	mov    0x14(%esi),%eax
5ceae6:	3b c1                	cmp    %ecx,%eax
5ceae8:	74 73                	je     0x5ceb5d
5ceaea:	8b 5d 08             	mov    0x8(%ebp),%ebx
5ceaed:	8b 1b                	mov    (%ebx),%ebx
5ceaef:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5ceaf2:	8b 56 28             	mov    0x28(%esi),%edx
5ceaf5:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5ceaf8:	c1 e1 03             	shl    $0x3,%ecx
5ceafb:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ceafe:	8d 3c 0a             	lea    (%edx,%ecx,1),%edi
5ceb01:	8b 57 10             	mov    0x10(%edi),%edx
5ceb04:	3b da                	cmp    %edx,%ebx
5ceb06:	7d 16                	jge    0x5ceb1e
5ceb08:	b3 01                	mov    $0x1,%bl
5ceb0a:	83 f8 ff             	cmp    $0xffffffff,%eax
5ceb0d:	74 09                	je     0x5ceb18
5ceb0f:	8b 46 28             	mov    0x28(%esi),%eax
5ceb12:	03 c1                	add    %ecx,%eax
5ceb14:	8b 00                	mov    (%eax),%eax
5ceb16:	eb 23                	jmp    0x5ceb3b
5ceb18:	8b c6                	mov    %esi,%eax
5ceb1a:	8b 00                	mov    (%eax),%eax
5ceb1c:	eb 1d                	jmp    0x5ceb3b
5ceb1e:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
5ceb22:	75 04                	jne    0x5ceb28
5ceb24:	3b d3                	cmp    %ebx,%edx
5ceb26:	7d 1d                	jge    0x5ceb45
5ceb28:	32 db                	xor    %bl,%bl
5ceb2a:	83 f8 ff             	cmp    $0xffffffff,%eax
5ceb2d:	74 07                	je     0x5ceb36
5ceb2f:	8b 46 28             	mov    0x28(%esi),%eax
5ceb32:	03 c1                	add    %ecx,%eax
5ceb34:	eb 02                	jmp    0x5ceb38
5ceb36:	8b c6                	mov    %esi,%eax
5ceb38:	8b 40 04             	mov    0x4(%eax),%eax
5ceb3b:	83 f8 ff             	cmp    $0xffffffff,%eax
5ceb3e:	74 1d                	je     0x5ceb5d
5ceb40:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5ceb43:	eb ad                	jmp    0x5ceaf2
5ceb45:	8b 45 08             	mov    0x8(%ebp),%eax
5ceb48:	89 5f 10             	mov    %ebx,0x10(%edi)
5ceb4b:	8b 48 04             	mov    0x4(%eax),%ecx
5ceb4e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ceb51:	89 4f 14             	mov    %ecx,0x14(%edi)
5ceb54:	5f                   	pop    %edi
5ceb55:	5e                   	pop    %esi
5ceb56:	5b                   	pop    %ebx
5ceb57:	8b e5                	mov    %ebp,%esp
5ceb59:	5d                   	pop    %ebp
5ceb5a:	c2 08 00             	ret    $0x8
5ceb5d:	6a 00                	push   $0x0
5ceb5f:	8b ce                	mov    %esi,%ecx
5ceb61:	e8 ca 13 00 00       	call   0x5cff30
5ceb66:	8b 4e 28             	mov    0x28(%esi),%ecx
5ceb69:	8b f8                	mov    %eax,%edi
5ceb6b:	8b 55 fc             	mov    -0x4(%ebp),%edx
5ceb6e:	8d 04 7f             	lea    (%edi,%edi,2),%eax
5ceb71:	c1 e0 03             	shl    $0x3,%eax
5ceb74:	89 45 0c             	mov    %eax,0xc(%ebp)
5ceb77:	89 54 08 08          	mov    %edx,0x8(%eax,%ecx,1)
5ceb7b:	c7 44 08 04 ff ff ff 	movl   $0xffffffff,0x4(%eax,%ecx,1)
5ceb82:	ff
5ceb83:	c7 04 08 ff ff ff ff 	movl   $0xffffffff,(%eax,%ecx,1)
5ceb8a:	c7 44 08 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,1)
5ceb91:	00
5ceb92:	83 fa ff             	cmp    $0xffffffff,%edx
5ceb95:	74 12                	je     0x5ceba9
5ceb97:	8d 04 52             	lea    (%edx,%edx,2),%eax
5ceb9a:	84 db                	test   %bl,%bl
5ceb9c:	74 05                	je     0x5ceba3
5ceb9e:	89 3c c1             	mov    %edi,(%ecx,%eax,8)
5ceba1:	eb 09                	jmp    0x5cebac
5ceba3:	89 7c c1 04          	mov    %edi,0x4(%ecx,%eax,8)
5ceba7:	eb 03                	jmp    0x5cebac
5ceba9:	89 7e 14             	mov    %edi,0x14(%esi)
5cebac:	51                   	push   %ecx
5cebad:	6a 18                	push   $0x18
5cebaf:	57                   	push   %edi
5cebb0:	8b ce                	mov    %esi,%ecx
5cebb2:	e8 99 e2 ff ff       	call   0x5cce50
5cebb7:	ff 46 18             	incl   0x18(%esi)
5cebba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cebbd:	03 4e 28             	add    0x28(%esi),%ecx
5cebc0:	8b 55 08             	mov    0x8(%ebp),%edx
5cebc3:	8b 02                	mov    (%edx),%eax
5cebc5:	89 41 10             	mov    %eax,0x10(%ecx)
5cebc8:	8b 42 04             	mov    0x4(%edx),%eax
5cebcb:	89 41 14             	mov    %eax,0x14(%ecx)
5cebce:	8b c7                	mov    %edi,%eax
5cebd0:	5f                   	pop    %edi
5cebd1:	5e                   	pop    %esi
5cebd2:	5b                   	pop    %ebx
5cebd3:	8b e5                	mov    %ebp,%esp
5cebd5:	5d                   	pop    %ebp
5cebd6:	c2 08 00             	ret    $0x8
5cebd9:	cc                   	int3
5cebda:	cc                   	int3
5cebdb:	cc                   	int3
5cebdc:	cc                   	int3
5cebdd:	cc                   	int3
5cebde:	cc                   	int3
5cebdf:	cc                   	int3
5cebe0:	55                   	push   %ebp
5cebe1:	8b ec                	mov    %esp,%ebp
5cebe3:	83 ec 08             	sub    $0x8,%esp
5cebe6:	53                   	push   %ebx
5cebe7:	56                   	push   %esi
5cebe8:	8b f1                	mov    %ecx,%esi
5cebea:	32 db                	xor    %bl,%bl
5cebec:	83 c9 ff             	or     $0xffffffff,%ecx
5cebef:	57                   	push   %edi
5cebf0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5cebf3:	8b 46 14             	mov    0x14(%esi),%eax
5cebf6:	3b c1                	cmp    %ecx,%eax
5cebf8:	74 73                	je     0x5cec6d
5cebfa:	8b 5d 08             	mov    0x8(%ebp),%ebx
5cebfd:	8b 1b                	mov    (%ebx),%ebx
5cebff:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5cec02:	8b 56 28             	mov    0x28(%esi),%edx
5cec05:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5cec08:	c1 e1 03             	shl    $0x3,%ecx
5cec0b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5cec0e:	8d 3c 0a             	lea    (%edx,%ecx,1),%edi
5cec11:	8b 57 10             	mov    0x10(%edi),%edx
5cec14:	3b da                	cmp    %edx,%ebx
5cec16:	73 16                	jae    0x5cec2e
5cec18:	b3 01                	mov    $0x1,%bl
5cec1a:	83 f8 ff             	cmp    $0xffffffff,%eax
5cec1d:	74 09                	je     0x5cec28
5cec1f:	8b 46 28             	mov    0x28(%esi),%eax
5cec22:	03 c1                	add    %ecx,%eax
5cec24:	8b 00                	mov    (%eax),%eax
5cec26:	eb 23                	jmp    0x5cec4b
5cec28:	8b c6                	mov    %esi,%eax
5cec2a:	8b 00                	mov    (%eax),%eax
5cec2c:	eb 1d                	jmp    0x5cec4b
5cec2e:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
5cec32:	75 04                	jne    0x5cec38
5cec34:	3b d3                	cmp    %ebx,%edx
5cec36:	73 1d                	jae    0x5cec55
5cec38:	32 db                	xor    %bl,%bl
5cec3a:	83 f8 ff             	cmp    $0xffffffff,%eax
5cec3d:	74 07                	je     0x5cec46
5cec3f:	8b 46 28             	mov    0x28(%esi),%eax
5cec42:	03 c1                	add    %ecx,%eax
5cec44:	eb 02                	jmp    0x5cec48
5cec46:	8b c6                	mov    %esi,%eax
5cec48:	8b 40 04             	mov    0x4(%eax),%eax
5cec4b:	83 f8 ff             	cmp    $0xffffffff,%eax
5cec4e:	74 1d                	je     0x5cec6d
5cec50:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5cec53:	eb ad                	jmp    0x5cec02
5cec55:	8b 45 08             	mov    0x8(%ebp),%eax
5cec58:	89 5f 10             	mov    %ebx,0x10(%edi)
5cec5b:	8a 48 04             	mov    0x4(%eax),%cl
5cec5e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5cec61:	88 4f 14             	mov    %cl,0x14(%edi)
5cec64:	5f                   	pop    %edi
5cec65:	5e                   	pop    %esi
5cec66:	5b                   	pop    %ebx
5cec67:	8b e5                	mov    %ebp,%esp
5cec69:	5d                   	pop    %ebp
5cec6a:	c2 08 00             	ret    $0x8
5cec6d:	6a 00                	push   $0x0
5cec6f:	8b ce                	mov    %esi,%ecx
5cec71:	e8 ba 13 00 00       	call   0x5d0030
5cec76:	8b 4e 28             	mov    0x28(%esi),%ecx
5cec79:	8b f8                	mov    %eax,%edi
5cec7b:	8b 55 fc             	mov    -0x4(%ebp),%edx
5cec7e:	8d 04 7f             	lea    (%edi,%edi,2),%eax
5cec81:	c1 e0 03             	shl    $0x3,%eax
5cec84:	89 45 0c             	mov    %eax,0xc(%ebp)
5cec87:	89 54 08 08          	mov    %edx,0x8(%eax,%ecx,1)
5cec8b:	c7 44 08 04 ff ff ff 	movl   $0xffffffff,0x4(%eax,%ecx,1)
5cec92:	ff
5cec93:	c7 04 08 ff ff ff ff 	movl   $0xffffffff,(%eax,%ecx,1)
5cec9a:	c7 44 08 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,1)
5ceca1:	00
5ceca2:	83 fa ff             	cmp    $0xffffffff,%edx
5ceca5:	74 12                	je     0x5cecb9
5ceca7:	8d 04 52             	lea    (%edx,%edx,2),%eax
5cecaa:	84 db                	test   %bl,%bl
5cecac:	74 05                	je     0x5cecb3
5cecae:	89 3c c1             	mov    %edi,(%ecx,%eax,8)
5cecb1:	eb 09                	jmp    0x5cecbc
5cecb3:	89 7c c1 04          	mov    %edi,0x4(%ecx,%eax,8)
5cecb7:	eb 03                	jmp    0x5cecbc
5cecb9:	89 7e 14             	mov    %edi,0x14(%esi)
5cecbc:	51                   	push   %ecx
5cecbd:	6a 18                	push   $0x18
5cecbf:	57                   	push   %edi
5cecc0:	8b ce                	mov    %esi,%ecx
5cecc2:	e8 89 e1 ff ff       	call   0x5cce50
5cecc7:	ff 46 18             	incl   0x18(%esi)
5cecca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ceccd:	03 4e 28             	add    0x28(%esi),%ecx
5cecd0:	8b 55 08             	mov    0x8(%ebp),%edx
5cecd3:	8b 02                	mov    (%edx),%eax
5cecd5:	89 41 10             	mov    %eax,0x10(%ecx)
5cecd8:	8a 42 04             	mov    0x4(%edx),%al
5cecdb:	88 41 14             	mov    %al,0x14(%ecx)
5cecde:	8b c7                	mov    %edi,%eax
5cece0:	5f                   	pop    %edi
5cece1:	5e                   	pop    %esi
5cece2:	5b                   	pop    %ebx
5cece3:	8b e5                	mov    %ebp,%esp
5cece5:	5d                   	pop    %ebp
5cece6:	c2 08 00             	ret    $0x8
5cece9:	cc                   	int3
5cecea:	cc                   	int3
5ceceb:	cc                   	int3
5cecec:	cc                   	int3
5ceced:	cc                   	int3
5cecee:	cc                   	int3
5cecef:	cc                   	int3
5cecf0:	55                   	push   %ebp
5cecf1:	8b ec                	mov    %esp,%ebp
5cecf3:	83 ec 08             	sub    $0x8,%esp
5cecf6:	53                   	push   %ebx
5cecf7:	56                   	push   %esi
5cecf8:	8b f1                	mov    %ecx,%esi
5cecfa:	32 db                	xor    %bl,%bl
5cecfc:	83 c9 ff             	or     $0xffffffff,%ecx
5cecff:	57                   	push   %edi
5ced00:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5ced03:	8b 46 14             	mov    0x14(%esi),%eax
5ced06:	3b c1                	cmp    %ecx,%eax
5ced08:	74 73                	je     0x5ced7d
5ced0a:	8b 5d 08             	mov    0x8(%ebp),%ebx
5ced0d:	8b 1b                	mov    (%ebx),%ebx
5ced0f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5ced12:	8b 56 28             	mov    0x28(%esi),%edx
5ced15:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5ced18:	c1 e1 03             	shl    $0x3,%ecx
5ced1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ced1e:	8d 3c 0a             	lea    (%edx,%ecx,1),%edi
5ced21:	8b 57 10             	mov    0x10(%edi),%edx