5ce684:	0f 9d c0             	setge  %al
5ce687:	5e                   	pop    %esi
5ce688:	5b                   	pop    %ebx
5ce689:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
5ce690:	5d                   	pop    %ebp
5ce691:	c3                   	ret
5ce692:	cc                   	int3
5ce693:	cc                   	int3
5ce694:	cc                   	int3
5ce695:	cc                   	int3
5ce696:	cc                   	int3
5ce697:	cc                   	int3
5ce698:	cc                   	int3
5ce699:	cc                   	int3
5ce69a:	cc                   	int3
5ce69b:	cc                   	int3
5ce69c:	cc                   	int3
5ce69d:	cc                   	int3
5ce69e:	cc                   	int3
5ce69f:	cc                   	int3
5ce6a0:	55                   	push   %ebp
5ce6a1:	8b ec                	mov    %esp,%ebp
5ce6a3:	8b 45 08             	mov    0x8(%ebp),%eax
5ce6a6:	8d 48 bf             	lea    -0x41(%eax),%ecx
5ce6a9:	83 f9 19             	cmp    $0x19,%ecx
5ce6ac:	8d 50 20             	lea    0x20(%eax),%edx
5ce6af:	0f 46 c2             	cmovbe %edx,%eax
5ce6b2:	5d                   	pop    %ebp
5ce6b3:	c3                   	ret
5ce6b4:	cc                   	int3
5ce6b5:	cc                   	int3
5ce6b6:	cc                   	int3
5ce6b7:	cc                   	int3
5ce6b8:	cc                   	int3
5ce6b9:	cc                   	int3
5ce6ba:	cc                   	int3
5ce6bb:	cc                   	int3
5ce6bc:	cc                   	int3
5ce6bd:	cc                   	int3
5ce6be:	cc                   	int3
5ce6bf:	cc                   	int3
5ce6c0:	55                   	push   %ebp
5ce6c1:	8b ec                	mov    %esp,%ebp
5ce6c3:	83 ec 0c             	sub    $0xc,%esp
5ce6c6:	53                   	push   %ebx
5ce6c7:	56                   	push   %esi
5ce6c8:	8b 75 08             	mov    0x8(%ebp),%esi
5ce6cb:	57                   	push   %edi
5ce6cc:	33 ff                	xor    %edi,%edi
5ce6ce:	85 f6                	test   %esi,%esi
5ce6d0:	75 33                	jne    0x5ce705
5ce6d2:	68 7c 08 67 00       	push   $0x67087c
5ce6d7:	68 f7 00 00 00       	push   $0xf7
5ce6dc:	68 28 08 67 00       	push   $0x670828
5ce6e1:	e8 7a cd fe ff       	call   0x5bb460
5ce6e6:	83 c4 0c             	add    $0xc,%esp
5ce6e9:	84 c0                	test   %al,%al
5ce6eb:	75 01                	jne    0x5ce6ee
5ce6ed:	cc                   	int3
5ce6ee:	8b 45 10             	mov    0x10(%ebp),%eax
5ce6f1:	85 c0                	test   %eax,%eax
5ce6f3:	0f 84 85 01 00 00    	je     0x5ce87e
5ce6f9:	5f                   	pop    %edi
5ce6fa:	5e                   	pop    %esi
5ce6fb:	c6 00 00             	movb   $0x0,(%eax)
5ce6fe:	33 c0                	xor    %eax,%eax
5ce700:	5b                   	pop    %ebx
5ce701:	8b e5                	mov    %ebp,%esp
5ce703:	5d                   	pop    %ebp
5ce704:	c3                   	ret
5ce705:	39 7d 10             	cmp    %edi,0x10(%ebp)
5ce708:	0f 85 9d 00 00 00    	jne    0x5ce7ab
5ce70e:	bb ff ff 00 00       	mov    $0xffff,%ebx
5ce713:	66 83 3e 00          	cmpw   $0x0,(%esi)
5ce717:	0f 84 b0 01 00 00    	je     0x5ce8cd
5ce71d:	8d 45 0b             	lea    0xb(%ebp),%eax
5ce720:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
5ce724:	50                   	push   %eax
5ce725:	8d 45 f8             	lea    -0x8(%ebp),%eax
5ce728:	50                   	push   %eax
5ce729:	56                   	push   %esi
5ce72a:	e8 c1 02 00 00       	call   0x5ce9f0
5ce72f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5ce732:	83 c4 0c             	add    $0xc,%esp
5ce735:	8d 34 46             	lea    (%esi,%eax,2),%esi
5ce738:	83 f9 7f             	cmp    $0x7f,%ecx
5ce73b:	77 07                	ja     0x5ce744
5ce73d:	b8 01 00 00 00       	mov    $0x1,%eax
5ce742:	eb 18                	jmp    0x5ce75c
5ce744:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
5ce74a:	77 07                	ja     0x5ce753
5ce74c:	b8 02 00 00 00       	mov    $0x2,%eax
5ce751:	eb 09                	jmp    0x5ce75c
5ce753:	3b d9                	cmp    %ecx,%ebx
5ce755:	1b c0                	sbb    %eax,%eax
5ce757:	f7 d8                	neg    %eax
5ce759:	83 c0 03             	add    $0x3,%eax
5ce75c:	03 f8                	add    %eax,%edi
5ce75e:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
5ce762:	74 af                	je     0x5ce713
5ce764:	8b 45 18             	mov    0x18(%ebp),%eax
5ce767:	a8 01                	test   $0x1,%al
5ce769:	74 2f                	je     0x5ce79a
5ce76b:	83 f9 7f             	cmp    $0x7f,%ecx
5ce76e:	77 09                	ja     0x5ce779
5ce770:	b8 01 00 00 00       	mov    $0x1,%eax
5ce775:	2b f8                	sub    %eax,%edi
5ce777:	eb 9a                	jmp    0x5ce713
5ce779:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
5ce77f:	77 09                	ja     0x5ce78a
5ce781:	b8 02 00 00 00       	mov    $0x2,%eax
5ce786:	2b f8                	sub    %eax,%edi
5ce788:	eb 89                	jmp    0x5ce713
5ce78a:	3b d9                	cmp    %ecx,%ebx
5ce78c:	1b c0                	sbb    %eax,%eax
5ce78e:	f7 d8                	neg    %eax
5ce790:	83 c0 03             	add    $0x3,%eax
5ce793:	2b f8                	sub    %eax,%edi
5ce795:	e9 79 ff ff ff       	jmp    0x5ce713
5ce79a:	a8 02                	test   $0x2,%al
5ce79c:	0f 84 71 ff ff ff    	je     0x5ce713
5ce7a2:	5f                   	pop    %edi
5ce7a3:	5e                   	pop    %esi
5ce7a4:	33 c0                	xor    %eax,%eax
5ce7a6:	5b                   	pop    %ebx
5ce7a7:	8b e5                	mov    %ebp,%esp
5ce7a9:	5d                   	pop    %ebp
5ce7aa:	c3                   	ret
5ce7ab:	8b 45 14             	mov    0x14(%ebp),%eax
5ce7ae:	85 c0                	test   %eax,%eax
5ce7b0:	0f 8e c8 00 00 00    	jle    0x5ce87e
5ce7b6:	48                   	dec    %eax
5ce7b7:	89 45 f4             	mov    %eax,-0xc(%ebp)
5ce7ba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5ce7c0:	66 83 3e 00          	cmpw   $0x0,(%esi)
5ce7c4:	0f 84 fc 00 00 00    	je     0x5ce8c6
5ce7ca:	8d 45 ff             	lea    -0x1(%ebp),%eax
5ce7cd:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
5ce7d1:	50                   	push   %eax
5ce7d2:	8d 45 f8             	lea    -0x8(%ebp),%eax
5ce7d5:	50                   	push   %eax
5ce7d6:	56                   	push   %esi
5ce7d7:	e8 14 02 00 00       	call   0x5ce9f0
5ce7dc:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5ce7df:	83 c4 0c             	add    $0xc,%esp
5ce7e2:	8d 34 46             	lea    (%esi,%eax,2),%esi
5ce7e5:	89 75 08             	mov    %esi,0x8(%ebp)
5ce7e8:	83 fb 7f             	cmp    $0x7f,%ebx
5ce7eb:	77 07                	ja     0x5ce7f4
5ce7ed:	b8 01 00 00 00       	mov    $0x1,%eax
5ce7f2:	eb 1d                	jmp    0x5ce811
5ce7f4:	81 fb ff 07 00 00    	cmp    $0x7ff,%ebx
5ce7fa:	77 07                	ja     0x5ce803
5ce7fc:	b8 02 00 00 00       	mov    $0x2,%eax
5ce801:	eb 0e                	jmp    0x5ce811
5ce803:	b8 ff ff 00 00       	mov    $0xffff,%eax
5ce808:	3b c3                	cmp    %ebx,%eax
5ce80a:	1b c0                	sbb    %eax,%eax
5ce80c:	f7 d8                	neg    %eax
5ce80e:	83 c0 03             	add    $0x3,%eax
5ce811:	03 c7                	add    %edi,%eax
5ce813:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5ce816:	7f 6f                	jg     0x5ce887
5ce818:	8b 45 10             	mov    0x10(%ebp),%eax
5ce81b:	03 c7                	add    %edi,%eax
5ce81d:	50                   	push   %eax
5ce81e:	53                   	push   %ebx
5ce81f:	e8 3c 01 00 00       	call   0x5ce960
5ce824:	83 c4 08             	add    $0x8,%esp
5ce827:	03 f8                	add    %eax,%edi
5ce829:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
5ce82d:	74 91                	je     0x5ce7c0
5ce82f:	8b 45 18             	mov    0x18(%ebp),%eax
5ce832:	a8 01                	test   $0x1,%al
5ce834:	74 3a                	je     0x5ce870
5ce836:	83 fb 7f             	cmp    $0x7f,%ebx
5ce839:	77 0c                	ja     0x5ce847
5ce83b:	b8 01 00 00 00       	mov    $0x1,%eax
5ce840:	2b f8                	sub    %eax,%edi
5ce842:	e9 79 ff ff ff       	jmp    0x5ce7c0
5ce847:	81 fb ff 07 00 00    	cmp    $0x7ff,%ebx
5ce84d:	77 0c                	ja     0x5ce85b
5ce84f:	b8 02 00 00 00       	mov    $0x2,%eax
5ce854:	2b f8                	sub    %eax,%edi
5ce856:	e9 65 ff ff ff       	jmp    0x5ce7c0
5ce85b:	b8 ff ff 00 00       	mov    $0xffff,%eax
5ce860:	3b c3                	cmp    %ebx,%eax
5ce862:	1b c0                	sbb    %eax,%eax
5ce864:	f7 d8                	neg    %eax
5ce866:	83 c0 03             	add    $0x3,%eax
5ce869:	2b f8                	sub    %eax,%edi
5ce86b:	e9 50 ff ff ff       	jmp    0x5ce7c0
5ce870:	a8 02                	test   $0x2,%al
5ce872:	0f 84 48 ff ff ff    	je     0x5ce7c0
5ce878:	8b 45 10             	mov    0x10(%ebp),%eax
5ce87b:	c6 00 00             	movb   $0x0,(%eax)
5ce87e:	5f                   	pop    %edi
5ce87f:	5e                   	pop    %esi
5ce880:	33 c0                	xor    %eax,%eax
5ce882:	5b                   	pop    %ebx
5ce883:	8b e5                	mov    %ebp,%esp
5ce885:	5d                   	pop    %ebp
5ce886:	c3                   	ret
5ce887:	8b 45 18             	mov    0x18(%ebp),%eax
5ce88a:	a8 08                	test   $0x8,%al
5ce88c:	74 38                	je     0x5ce8c6
5ce88e:	ff 75 24             	push   0x24(%ebp)
5ce891:	8b 75 20             	mov    0x20(%ebp),%esi
5ce894:	8b 4d 10             	mov    0x10(%ebp),%ecx
5ce897:	56                   	push   %esi
5ce898:	ff 75 1c             	push   0x1c(%ebp)
5ce89b:	50                   	push   %eax
5ce89c:	6a 00                	push   $0x0
5ce89e:	6a 00                	push   $0x0
5ce8a0:	ff 75 0c             	push   0xc(%ebp)
5ce8a3:	c6 04 0f 00          	movb   $0x0,(%edi,%ecx,1)
5ce8a7:	ff 75 08             	push   0x8(%ebp)
5ce8aa:	e8 11 fe ff ff       	call   0x5ce6c0
5ce8af:	83 c4 20             	add    $0x20,%esp
5ce8b2:	8b ce                	mov    %esi,%ecx
5ce8b4:	8d 14 07             	lea    (%edi,%eax,1),%edx
5ce8b7:	53                   	push   %ebx
5ce8b8:	e8 23 00 00 00       	call   0x5ce8e0
5ce8bd:	5f                   	pop    %edi
5ce8be:	5e                   	pop    %esi
5ce8bf:	03 c2                	add    %edx,%eax
5ce8c1:	5b                   	pop    %ebx
5ce8c2:	8b e5                	mov    %ebp,%esp
5ce8c4:	5d                   	pop    %ebp
5ce8c5:	c3                   	ret
5ce8c6:	8b 45 10             	mov    0x10(%ebp),%eax
5ce8c9:	c6 04 07 00          	movb   $0x0,(%edi,%eax,1)
5ce8cd:	8d 47 01             	lea    0x1(%edi),%eax
5ce8d0:	5f                   	pop    %edi
5ce8d1:	5e                   	pop    %esi
5ce8d2:	5b                   	pop    %ebx
5ce8d3:	8b e5                	mov    %ebp,%esp
5ce8d5:	5d                   	pop    %ebp
5ce8d6:	c3                   	ret
5ce8d7:	cc                   	int3
5ce8d8:	cc                   	int3
5ce8d9:	cc                   	int3
5ce8da:	cc                   	int3
5ce8db:	cc                   	int3
5ce8dc:	cc                   	int3
5ce8dd:	cc                   	int3
5ce8de:	cc                   	int3
5ce8df:	cc                   	int3
5ce8e0:	55                   	push   %ebp
5ce8e1:	8b ec                	mov    %esp,%ebp
5ce8e3:	8b 45 08             	mov    0x8(%ebp),%eax
5ce8e6:	83 f8 7f             	cmp    $0x7f,%eax
5ce8e9:	77 09                	ja     0x5ce8f4
5ce8eb:	b8 01 00 00 00       	mov    $0x1,%eax
5ce8f0:	5d                   	pop    %ebp
5ce8f1:	c2 04 00             	ret    $0x4
5ce8f4:	3d ff 07 00 00       	cmp    $0x7ff,%eax
5ce8f9:	77 09                	ja     0x5ce904
5ce8fb:	b8 02 00 00 00       	mov    $0x2,%eax
5ce900:	5d                   	pop    %ebp
5ce901:	c2 04 00             	ret    $0x4
5ce904:	b9 ff ff 00 00       	mov    $0xffff,%ecx
5ce909:	3b c8                	cmp    %eax,%ecx
5ce90b:	1b c0                	sbb    %eax,%eax
5ce90d:	f7 d8                	neg    %eax
5ce90f:	83 c0 03             	add    $0x3,%eax
5ce912:	5d                   	pop    %ebp
5ce913:	c2 04 00             	ret    $0x4
5ce916:	cc                   	int3
5ce917:	cc                   	int3
5ce918:	cc                   	int3
5ce919:	cc                   	int3
5ce91a:	cc                   	int3
5ce91b:	cc                   	int3
5ce91c:	cc                   	int3
5ce91d:	cc                   	int3
5ce91e:	cc                   	int3
5ce91f:	cc                   	int3
5ce920:	55                   	push   %ebp
5ce921:	8b ec                	mov    %esp,%ebp
5ce923:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ce926:	81 f9 00 00 11 00    	cmp    $0x110000,%ecx
5ce92c:	73 26                	jae    0x5ce954
5ce92e:	8d 81 00 28 ff ff    	lea    -0xd800(%ecx),%eax
5ce934:	3d ff 07 00 00       	cmp    $0x7ff,%eax
5ce939:	76 19                	jbe    0x5ce954
5ce93b:	0f b7 c1             	movzwl %cx,%eax
5ce93e:	3d fe ff 00 00       	cmp    $0xfffe,%eax
5ce943:	73 0f                	jae    0x5ce954
5ce945:	8d 81 30 02 ff ff    	lea    -0xfdd0(%ecx),%eax
5ce94b:	83 f8 1f             	cmp    $0x1f,%eax
5ce94e:	76 04                	jbe    0x5ce954
5ce950:	b0 01                	mov    $0x1,%al
5ce952:	5d                   	pop    %ebp
5ce953:	c3                   	ret
5ce954:	32 c0                	xor    %al,%al
5ce956:	5d                   	pop    %ebp
5ce957:	c3                   	ret
5ce958:	cc                   	int3
5ce959:	cc                   	int3
5ce95a:	cc                   	int3
5ce95b:	cc                   	int3
5ce95c:	cc                   	int3
5ce95d:	cc                   	int3
5ce95e:	cc                   	int3
5ce95f:	cc                   	int3
5ce960:	55                   	push   %ebp
5ce961:	8b ec                	mov    %esp,%ebp
5ce963:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ce966:	83 f9 7f             	cmp    $0x7f,%ecx
5ce969:	77 0c                	ja     0x5ce977
5ce96b:	8b 45 0c             	mov    0xc(%ebp),%eax
5ce96e:	88 08                	mov    %cl,(%eax)
5ce970:	b8 01 00 00 00       	mov    $0x1,%eax
5ce975:	5d                   	pop    %ebp
5ce976:	c3                   	ret
5ce977:	8b 55 0c             	mov    0xc(%ebp),%edx
5ce97a:	8b c1                	mov    %ecx,%eax
5ce97c:	53                   	push   %ebx
5ce97d:	8a d9                	mov    %cl,%bl
5ce97f:	c1 e8 06             	shr    $0x6,%eax
5ce982:	80 e3 3f             	and    $0x3f,%bl
5ce985:	80 cb 80             	or     $0x80,%bl
5ce988:	88 5d 0b             	mov    %bl,0xb(%ebp)
5ce98b:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
5ce991:	77 0f                	ja     0x5ce9a2
5ce993:	0c c0                	or     $0xc0,%al
5ce995:	88 5a 01             	mov    %bl,0x1(%edx)
5ce998:	88 02                	mov    %al,(%edx)
5ce99a:	b8 02 00 00 00       	mov    $0x2,%eax
5ce99f:	5b                   	pop    %ebx
5ce9a0:	5d                   	pop    %ebp
5ce9a1:	c3                   	ret
5ce9a2:	24 3f                	and    $0x3f,%al
5ce9a4:	8b d9                	mov    %ecx,%ebx
5ce9a6:	c1 eb 0c             	shr    $0xc,%ebx
5ce9a9:	0c 80                	or     $0x80,%al
5ce9ab:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
5ce9b1:	77 16                	ja     0x5ce9c9
5ce9b3:	88 42 01             	mov    %al,0x1(%edx)
5ce9b6:	80 cb e0             	or     $0xe0,%bl
5ce9b9:	8a 45 0b             	mov    0xb(%ebp),%al
5ce9bc:	88 1a                	mov    %bl,(%edx)
5ce9be:	88 42 02             	mov    %al,0x2(%edx)
5ce9c1:	b8 03 00 00 00       	mov    $0x3,%eax
5ce9c6:	5b                   	pop    %ebx
5ce9c7:	5d                   	pop    %ebp
5ce9c8:	c3                   	ret
5ce9c9:	c1 e9 12             	shr    $0x12,%ecx
5ce9cc:	80 e3 3f             	and    $0x3f,%bl