42a682:	73 d3                	jae    0x42a657
42a684:	83 f9 02             	cmp    $0x2,%ecx
42a687:	72 ce                	jb     0x42a657
42a689:	0f b7 42 02          	movzwl 0x2(%edx),%eax
42a68d:	2d 00 dc 00 00       	sub    $0xdc00,%eax
42a692:	3d 00 04 00 00       	cmp    $0x400,%eax
42a697:	73 be                	jae    0x42a657
42a699:	c6 06 3f             	movb   $0x3f,(%esi)
42a69c:	83 c2 04             	add    $0x4,%edx
42a69f:	46                   	inc    %esi
42a6a0:	83 e9 02             	sub    $0x2,%ecx
42a6a3:	eb b6                	jmp    0x42a65b
42a6a5:	33 f6                	xor    %esi,%esi
42a6a7:	eb 28                	jmp    0x42a6d1
42a6a9:	83 f8 05             	cmp    $0x5,%eax
42a6ac:	0f 95 c0             	setne  %al
42a6af:	8d 54 24 18          	lea    0x18(%esp),%edx
42a6b3:	0f b6 c0             	movzbl %al,%eax
42a6b6:	50                   	push   %eax
42a6b7:	ff 74 24 14          	push   0x14(%esp)
42a6bb:	ff 74 24 18          	push   0x18(%esp)
42a6bf:	51                   	push   %ecx
42a6c0:	8d 8c 24 7c 0d 00 00 	lea    0xd7c(%esp),%ecx
42a6c7:	e8 44 74 00 00       	call   0x431b10
42a6cc:	83 c4 10             	add    $0x10,%esp
42a6cf:	8b f0                	mov    %eax,%esi
42a6d1:	56                   	push   %esi
42a6d2:	8d 84 24 70 0d 00 00 	lea    0xd70(%esp),%eax
42a6d9:	8b bc 24 18 28 00 00 	mov    0x2818(%esp),%edi
42a6e0:	50                   	push   %eax
42a6e1:	8b 17                	mov    (%edi),%edx
42a6e3:	8b 72 04             	mov    0x4(%edx),%esi
42a6e6:	8b ce                	mov    %esi,%ecx
42a6e8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
42a6ee:	8b cf                	mov    %edi,%ecx
42a6f0:	ff d6                	call   *%esi
42a6f2:	8b 8c 24 24 28 00 00 	mov    0x2824(%esp),%ecx
42a6f9:	5f                   	pop    %edi
42a6fa:	5e                   	pop    %esi
42a6fb:	5b                   	pop    %ebx
42a6fc:	33 cc                	xor    %esp,%ecx
42a6fe:	e8 c7 f2 03 00       	call   0x4699ca
42a703:	8b e5                	mov    %ebp,%esp
42a705:	5d                   	pop    %ebp
42a706:	c2 10 00             	ret    $0x10
42a709:	cc                   	int3
42a70a:	cc                   	int3
42a70b:	cc                   	int3
42a70c:	cc                   	int3
42a70d:	cc                   	int3
42a70e:	cc                   	int3
42a70f:	cc                   	int3
42a710:	55                   	push   %ebp
42a711:	8b ec                	mov    %esp,%ebp
42a713:	56                   	push   %esi
42a714:	57                   	push   %edi
42a715:	8b 7d 08             	mov    0x8(%ebp),%edi
42a718:	8b f1                	mov    %ecx,%esi
42a71a:	83 c7 07             	add    $0x7,%edi
42a71d:	83 e7 f8             	and    $0xfffffff8,%edi
42a720:	8b 46 04             	mov    0x4(%esi),%eax
42a723:	8b 16                	mov    (%esi),%edx
42a725:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
42a728:	3b 4a 04             	cmp    0x4(%edx),%ecx
42a72b:	77 0e                	ja     0x42a73b
42a72d:	83 c0 08             	add    $0x8,%eax
42a730:	89 4e 04             	mov    %ecx,0x4(%esi)
42a733:	5f                   	pop    %edi
42a734:	03 c2                	add    %edx,%eax
42a736:	5e                   	pop    %esi
42a737:	5d                   	pop    %ebp
42a738:	c2 04 00             	ret    $0x4
42a73b:	53                   	push   %ebx
42a73c:	b8 00 10 00 00       	mov    $0x1000,%eax
42a741:	8d 9f 00 04 00 00    	lea    0x400(%edi),%ebx
42a747:	3b d8                	cmp    %eax,%ebx
42a749:	0f 42 d8             	cmovb  %eax,%ebx
42a74c:	8d 43 08             	lea    0x8(%ebx),%eax
42a74f:	50                   	push   %eax
42a750:	e8 ac ef 04 00       	call   0x479701
42a755:	8b c8                	mov    %eax,%ecx
42a757:	83 c4 04             	add    $0x4,%esp
42a75a:	85 c9                	test   %ecx,%ecx
42a75c:	75 13                	jne    0x42a771
42a75e:	8b 46 08             	mov    0x8(%esi),%eax
42a761:	85 c0                	test   %eax,%eax
42a763:	74 03                	je     0x42a768
42a765:	c6 00 01             	movb   $0x1,(%eax)
42a768:	5b                   	pop    %ebx
42a769:	5f                   	pop    %edi
42a76a:	33 c0                	xor    %eax,%eax
42a76c:	5e                   	pop    %esi
42a76d:	5d                   	pop    %ebp
42a76e:	c2 04 00             	ret    $0x4
42a771:	8b 06                	mov    (%esi),%eax
42a773:	89 59 04             	mov    %ebx,0x4(%ecx)
42a776:	5b                   	pop    %ebx
42a777:	89 7e 04             	mov    %edi,0x4(%esi)
42a77a:	5f                   	pop    %edi
42a77b:	89 01                	mov    %eax,(%ecx)
42a77d:	8d 41 08             	lea    0x8(%ecx),%eax
42a780:	89 0e                	mov    %ecx,(%esi)
42a782:	5e                   	pop    %esi
42a783:	5d                   	pop    %ebp
42a784:	c2 04 00             	ret    $0x4
42a787:	cc                   	int3
42a788:	cc                   	int3
42a789:	cc                   	int3
42a78a:	cc                   	int3
42a78b:	cc                   	int3
42a78c:	cc                   	int3
42a78d:	cc                   	int3
42a78e:	cc                   	int3
42a78f:	cc                   	int3
42a790:	53                   	push   %ebx
42a791:	57                   	push   %edi
42a792:	8b f9                	mov    %ecx,%edi
42a794:	8b 1f                	mov    (%edi),%ebx
42a796:	8b 57 04             	mov    0x4(%edi),%edx
42a799:	8b 03                	mov    (%ebx),%eax
42a79b:	3b c2                	cmp    %edx,%eax
42a79d:	74 16                	je     0x42a7b5
42a79f:	56                   	push   %esi
42a7a0:	8b 30                	mov    (%eax),%esi
42a7a2:	50                   	push   %eax
42a7a3:	e8 da ee 04 00       	call   0x479682
42a7a8:	8b 57 04             	mov    0x4(%edi),%edx
42a7ab:	83 c4 04             	add    $0x4,%esp
42a7ae:	8b c6                	mov    %esi,%eax
42a7b0:	3b f2                	cmp    %edx,%esi
42a7b2:	75 ec                	jne    0x42a7a0
42a7b4:	5e                   	pop    %esi
42a7b5:	89 13                	mov    %edx,(%ebx)
42a7b7:	8b 47 08             	mov    0x8(%edi),%eax
42a7ba:	5f                   	pop    %edi
42a7bb:	89 43 04             	mov    %eax,0x4(%ebx)
42a7be:	5b                   	pop    %ebx
42a7bf:	c3                   	ret
42a7c0:	56                   	push   %esi
42a7c1:	57                   	push   %edi
42a7c2:	8d b9 10 20 00 00    	lea    0x2010(%ecx),%edi
42a7c8:	c7 81 20 20 00 00 00 	movl   $0x0,0x2020(%ecx)
42a7cf:	00 00 00
42a7d2:	8d 91 30 20 00 00    	lea    0x2030(%ecx),%edx
42a7d8:	89 0f                	mov    %ecx,(%edi)
42a7da:	8d b1 1c 20 00 00    	lea    0x201c(%ecx),%esi
42a7e0:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
42a7e7:	8d 81 08 10 00 00    	lea    0x1008(%ecx),%eax
42a7ed:	89 57 08             	mov    %edx,0x8(%edi)
42a7f0:	89 b9 28 20 00 00    	mov    %edi,0x2028(%ecx)
42a7f6:	89 06                	mov    %eax,(%esi)
42a7f8:	5f                   	pop    %edi
42a7f9:	89 56 08             	mov    %edx,0x8(%esi)
42a7fc:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
42a802:	8b c1                	mov    %ecx,%eax
42a804:	89 b1 2c 20 00 00    	mov    %esi,0x202c(%ecx)
42a80a:	c6 02 00             	movb   $0x0,(%edx)
42a80d:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
42a813:	c7 81 0c 10 00 00 00 	movl   $0x1000,0x100c(%ecx)
42a81a:	10 00 00
42a81d:	c7 41 04 00 10 00 00 	movl   $0x1000,0x4(%ecx)
42a824:	5e                   	pop    %esi
42a825:	c3                   	ret
42a826:	cc                   	int3
42a827:	cc                   	int3
42a828:	cc                   	int3
42a829:	cc                   	int3
42a82a:	cc                   	int3
42a82b:	cc                   	int3
42a82c:	cc                   	int3
42a82d:	cc                   	int3
42a82e:	cc                   	int3
42a82f:	cc                   	int3
42a830:	56                   	push   %esi
42a831:	57                   	push   %edi
42a832:	8b f9                	mov    %ecx,%edi
42a834:	8b 97 10 20 00 00    	mov    0x2010(%edi),%edx
42a83a:	8b 32                	mov    (%edx),%esi
42a83c:	85 f6                	test   %esi,%esi
42a83e:	74 13                	je     0x42a853
42a840:	52                   	push   %edx
42a841:	e8 3c ee 04 00       	call   0x479682
42a846:	8b 06                	mov    (%esi),%eax
42a848:	83 c4 04             	add    $0x4,%esp
42a84b:	8b d6                	mov    %esi,%edx
42a84d:	8b f0                	mov    %eax,%esi
42a84f:	85 c0                	test   %eax,%eax
42a851:	75 ed                	jne    0x42a840
42a853:	8b 8f 1c 20 00 00    	mov    0x201c(%edi),%ecx
42a859:	8b 31                	mov    (%ecx),%esi
42a85b:	85 f6                	test   %esi,%esi
42a85d:	74 14                	je     0x42a873
42a85f:	90                   	nop
42a860:	51                   	push   %ecx
42a861:	e8 1c ee 04 00       	call   0x479682
42a866:	8b 06                	mov    (%esi),%eax
42a868:	83 c4 04             	add    $0x4,%esp
42a86b:	8b ce                	mov    %esi,%ecx
42a86d:	8b f0                	mov    %eax,%esi
42a86f:	85 c0                	test   %eax,%eax
42a871:	75 ed                	jne    0x42a860
42a873:	5f                   	pop    %edi
42a874:	5e                   	pop    %esi
42a875:	c3                   	ret
42a876:	cc                   	int3
42a877:	cc                   	int3
42a878:	cc                   	int3
42a879:	cc                   	int3
42a87a:	cc                   	int3
42a87b:	cc                   	int3
42a87c:	cc                   	int3
42a87d:	cc                   	int3
42a87e:	cc                   	int3
42a87f:	cc                   	int3
42a880:	55                   	push   %ebp
42a881:	8b ec                	mov    %esp,%ebp
42a883:	83 ec 10             	sub    $0x10,%esp
42a886:	53                   	push   %ebx
42a887:	56                   	push   %esi
42a888:	57                   	push   %edi
42a889:	8b 7d 08             	mov    0x8(%ebp),%edi
42a88c:	8b da                	mov    %edx,%ebx
42a88e:	8b f1                	mov    %ecx,%esi
42a890:	3b df                	cmp    %edi,%ebx
42a892:	75 1a                	jne    0x42a8ae
42a894:	5f                   	pop    %edi
42a895:	c7 06 60 ea 4a 00    	movl   $0x4aea60,(%esi)
42a89b:	8b c6                	mov    %esi,%eax
42a89d:	c6 46 04 00          	movb   $0x0,0x4(%esi)
42a8a1:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
42a8a8:	5e                   	pop    %esi
42a8a9:	5b                   	pop    %ebx
42a8aa:	8b e5                	mov    %ebp,%esp
42a8ac:	5d                   	pop    %ebp
42a8ad:	c3                   	ret
42a8ae:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42a8b1:	2b fb                	sub    %ebx,%edi
42a8b3:	d1 ff                	sar    $1,%edi
42a8b5:	8d 04 7d 02 00 00 00 	lea    0x2(,%edi,2),%eax
42a8bc:	50                   	push   %eax
42a8bd:	e8 4e fe ff ff       	call   0x42a710
42a8c2:	89 45 fc             	mov    %eax,-0x4(%ebp)
42a8c5:	85 c0                	test   %eax,%eax
42a8c7:	74 26                	je     0x42a8ef
42a8c9:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
42a8cc:	51                   	push   %ecx
42a8cd:	53                   	push   %ebx
42a8ce:	50                   	push   %eax
42a8cf:	e8 4c 0d 04 00       	call   0x46b620
42a8d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
42a8d7:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
42a8da:	83 c4 0c             	add    $0xc,%esp
42a8dd:	89 45 f0             	mov    %eax,-0x10(%ebp)
42a8e0:	33 d2                	xor    %edx,%edx
42a8e2:	c6 45 f4 01          	movb   $0x1,-0xc(%ebp)
42a8e6:	89 7d f8             	mov    %edi,-0x8(%ebp)
42a8e9:	66 89 14 01          	mov    %dx,(%ecx,%eax,1)
42a8ed:	eb 12                	jmp    0x42a901
42a8ef:	c7 45 f0 60 ea 4a 00 	movl   $0x4aea60,-0x10(%ebp)
42a8f6:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
42a8fa:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
42a901:	8d 45 f0             	lea    -0x10(%ebp),%eax
42a904:	f3 0f 7e 00          	movq   (%eax),%xmm0
42a908:	8b 40 08             	mov    0x8(%eax),%eax
42a90b:	66 0f d6 06          	movq   %xmm0,(%esi)
42a90f:	89 46 08             	mov    %eax,0x8(%esi)
42a912:	8b c6                	mov    %esi,%eax
42a914:	5f                   	pop    %edi
42a915:	5e                   	pop    %esi
42a916:	5b                   	pop    %ebx
42a917:	8b e5                	mov    %ebp,%esp
42a919:	5d                   	pop    %ebp
42a91a:	c3                   	ret
42a91b:	cc                   	int3
42a91c:	cc                   	int3
42a91d:	cc                   	int3
42a91e:	cc                   	int3
42a91f:	cc                   	int3
42a920:	55                   	push   %ebp
42a921:	8b ec                	mov    %esp,%ebp
42a923:	8b 55 08             	mov    0x8(%ebp),%edx
42a926:	83 ec 18             	sub    $0x18,%esp
42a929:	56                   	push   %esi
42a92a:	8b 32                	mov    (%edx),%esi
42a92c:	57                   	push   %edi
42a92d:	8b f9                	mov    %ecx,%edi
42a92f:	66 83 3e 00          	cmpw   $0x0,(%esi)
42a933:	0f 84 38 01 00 00    	je     0x42aa71
42a939:	53                   	push   %ebx
42a93a:	8b 1f                	mov    (%edi),%ebx
42a93c:	66 83 3b 00          	cmpw   $0x0,(%ebx)
42a940:	75 17                	jne    0x42a959
42a942:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
42a946:	75 11                	jne    0x42a959
42a948:	80 7a 04 00          	cmpb   $0x0,0x4(%edx)
42a94c:	75 0b                	jne    0x42a959
42a94e:	5b                   	pop    %ebx
42a94f:	89 37                	mov    %esi,(%edi)
42a951:	5f                   	pop    %edi
42a952:	5e                   	pop    %esi
42a953:	8b e5                	mov    %ebp,%esp
42a955:	5d                   	pop    %ebp
42a956:	c2 08 00             	ret    $0x8
42a959:	8a 47 04             	mov    0x4(%edi),%al
42a95c:	88 45 ff             	mov    %al,-0x1(%ebp)
42a95f:	84 c0                	test   %al,%al
42a961:	74 05                	je     0x42a968
42a963:	8b 4f 08             	mov    0x8(%edi),%ecx
42a966:	eb 18                	jmp    0x42a980
42a968:	8b cb                	mov    %ebx,%ecx
42a96a:	8d 41 02             	lea    0x2(%ecx),%eax
42a96d:	89 45 f0             	mov    %eax,-0x10(%ebp)
42a970:	66 8b 01             	mov    (%ecx),%ax
42a973:	83 c1 02             	add    $0x2,%ecx
42a976:	66 85 c0             	test   %ax,%ax
42a979:	75 f5                	jne    0x42a970
42a97b:	2b 4d f0             	sub    -0x10(%ebp),%ecx
42a97e:	d1 f9                	sar    $1,%ecx
42a980:	80 7a 04 00          	cmpb   $0x0,0x4(%edx)
42a984:	74 05                	je     0x42a98b
42a986:	8b 72 08             	mov    0x8(%edx),%esi
42a989:	eb 14                	jmp    0x42a99f
42a98b:	8d 56 02             	lea    0x2(%esi),%edx
42a98e:	66 90                	xchg   %ax,%ax
42a990:	66 8b 06             	mov    (%esi),%ax
42a993:	83 c6 02             	add    $0x2,%esi
42a996:	66 85 c0             	test   %ax,%ax
42a999:	75 f5                	jne    0x42a990
42a99b:	2b f2                	sub    %edx,%esi
42a99d:	d1 fe                	sar    $1,%esi
42a99f:	33 c0                	xor    %eax,%eax
42a9a1:	8d 14 0e             	lea    (%esi,%ecx,1),%edx
42a9a4:	38 45 ff             	cmp    %al,-0x1(%ebp)
42a9a7:	89 55 e8             	mov    %edx,-0x18(%ebp)
42a9aa:	0f 44 d8             	cmove  %eax,%ebx
42a9ad:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
42a9b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42a9b3:	89 45 f0             	mov    %eax,-0x10(%ebp)
42a9b6:	83 c0 09             	add    $0x9,%eax
42a9b9:	83 e0 f8             	and    $0xfffffff8,%eax
42a9bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
42a9bf:	8d 04 12             	lea    (%edx,%edx,1),%eax
42a9c2:	8d 50 09             	lea    0x9(%eax),%edx
42a9c5:	89 45 ec             	mov    %eax,-0x14(%ebp)
42a9c8:	83 e2 f8             	and    $0xfffffff8,%edx
42a9cb:	89 55 f8             	mov    %edx,-0x8(%ebp)
42a9ce:	85 db                	test   %ebx,%ebx
42a9d0:	74 17                	je     0x42a9e9
42a9d2:	8b 41 04             	mov    0x4(%ecx),%eax
42a9d5:	2b 45 f4             	sub    -0xc(%ebp),%eax