49c6bd:	89 41 04             	mov    %eax,0x4(%ecx)
49c6c0:	8b 03                	mov    (%ebx),%eax
49c6c2:	3b 70 04             	cmp    0x4(%eax),%esi
49c6c5:	75 05                	jne    0x49c6cc
49c6c7:	89 48 04             	mov    %ecx,0x4(%eax)
49c6ca:	eb 0f                	jmp    0x49c6db
49c6cc:	8b 46 04             	mov    0x4(%esi),%eax
49c6cf:	3b 70 08             	cmp    0x8(%eax),%esi
49c6d2:	75 05                	jne    0x49c6d9
49c6d4:	89 48 08             	mov    %ecx,0x8(%eax)
49c6d7:	eb 02                	jmp    0x49c6db
49c6d9:	89 08                	mov    %ecx,(%eax)
49c6db:	89 71 08             	mov    %esi,0x8(%ecx)
49c6de:	89 4e 04             	mov    %ecx,0x4(%esi)
49c6e1:	8b 0e                	mov    (%esi),%ecx
49c6e3:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
49c6e7:	75 15                	jne    0x49c6fe
49c6e9:	8b 51 08             	mov    0x8(%ecx),%edx
49c6ec:	80 7a 0c 01          	cmpb   $0x1,0xc(%edx)
49c6f0:	75 3a                	jne    0x49c72c
49c6f2:	8b 01                	mov    (%ecx),%eax
49c6f4:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
49c6f8:	75 32                	jne    0x49c72c
49c6fa:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
49c6fe:	8b 03                	mov    (%ebx),%eax
49c700:	8b 4d f8             	mov    -0x8(%ebp),%ecx
49c703:	8b f9                	mov    %ecx,%edi
49c705:	8b 76 04             	mov    0x4(%esi),%esi
49c708:	3b 48 04             	cmp    0x4(%eax),%ecx
49c70b:	0f 85 cf fe ff ff    	jne    0x49c5e0
49c711:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
49c715:	8b 4b 04             	mov    0x4(%ebx),%ecx
49c718:	8b 45 fc             	mov    -0x4(%ebp),%eax
49c71b:	85 c9                	test   %ecx,%ecx
49c71d:	74 04                	je     0x49c723
49c71f:	49                   	dec    %ecx
49c720:	89 4b 04             	mov    %ecx,0x4(%ebx)
49c723:	5f                   	pop    %edi
49c724:	5e                   	pop    %esi
49c725:	5b                   	pop    %ebx
49c726:	8b e5                	mov    %ebp,%esp
49c728:	5d                   	pop    %ebp
49c729:	c2 04 00             	ret    $0x4
49c72c:	8b 01                	mov    (%ecx),%eax
49c72e:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
49c732:	75 12                	jne    0x49c746
49c734:	c6 42 0c 01          	movb   $0x1,0xc(%edx)
49c738:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
49c73c:	51                   	push   %ecx
49c73d:	8b cb                	mov    %ebx,%ecx
49c73f:	e8 2c 0a 00 00       	call   0x49d170
49c744:	8b 0e                	mov    (%esi),%ecx
49c746:	8a 46 0c             	mov    0xc(%esi),%al
49c749:	88 41 0c             	mov    %al,0xc(%ecx)
49c74c:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
49c750:	8b 01                	mov    (%ecx),%eax
49c752:	8b cb                	mov    %ebx,%ecx
49c754:	56                   	push   %esi
49c755:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
49c759:	e8 02 0b 00 00       	call   0x49d260
49c75e:	eb b1                	jmp    0x49c711
49c760:	55                   	push   %ebp
49c761:	8b ec                	mov    %esp,%ebp
49c763:	83 ec 0c             	sub    $0xc,%esp
49c766:	8b 55 08             	mov    0x8(%ebp),%edx
49c769:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
49c76e:	53                   	push   %ebx
49c76f:	8b d9                	mov    %ecx,%ebx
49c771:	0f bd c8             	bsr    %eax,%ecx
49c774:	56                   	push   %esi
49c775:	57                   	push   %edi
49c776:	bf 01 00 00 00       	mov    $0x1,%edi
49c77b:	89 5d f4             	mov    %ebx,-0xc(%ebp)
49c77e:	8b c7                	mov    %edi,%eax
49c780:	d3 e0                	shl    %cl,%eax
49c782:	3b d0                	cmp    %eax,%edx
49c784:	0f 87 27 01 00 00    	ja     0x49c8b1
49c78a:	8b 73 04             	mov    0x4(%ebx),%esi
49c78d:	8d 42 ff             	lea    -0x1(%edx),%eax
49c790:	0b c7                	or     %edi,%eax
49c792:	89 75 08             	mov    %esi,0x8(%ebp)
49c795:	0f bd c8             	bsr    %eax,%ecx
49c798:	56                   	push   %esi
49c799:	8d 49 01             	lea    0x1(%ecx),%ecx
49c79c:	d3 e7                	shl    %cl,%edi
49c79e:	8d 4b 0c             	lea    0xc(%ebx),%ecx
49c7a1:	8d 04 3f             	lea    (%edi,%edi,1),%eax
49c7a4:	50                   	push   %eax
49c7a5:	e8 36 c1 fb ff       	call   0x4588e0
49c7aa:	8b 4b 04             	mov    0x4(%ebx),%ecx
49c7ad:	8d 47 ff             	lea    -0x1(%edi),%eax
49c7b0:	89 43 18             	mov    %eax,0x18(%ebx)
49c7b3:	89 7b 1c             	mov    %edi,0x1c(%ebx)
49c7b6:	8b 09                	mov    (%ecx),%ecx
49c7b8:	8b d1                	mov    %ecx,%edx
49c7ba:	3b ce                	cmp    %esi,%ecx
49c7bc:	0f 84 c5 00 00 00    	je     0x49c887
49c7c2:	69 41 08 1b 01 00 01 	imul   $0x100011b,0x8(%ecx),%eax
49c7c9:	8b 59 0c             	mov    0xc(%ecx),%ebx
49c7cc:	8b 12                	mov    (%edx),%edx
49c7ce:	69 fb 93 01 00 01    	imul   $0x1000193,%ebx,%edi
49c7d4:	33 f8                	xor    %eax,%edi
49c7d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
49c7d9:	23 78 18             	and    0x18(%eax),%edi
49c7dc:	8b 40 0c             	mov    0xc(%eax),%eax
49c7df:	8d 04 f8             	lea    (%eax,%edi,8),%eax
49c7e2:	8b 38                	mov    (%eax),%edi
49c7e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
49c7e7:	3b fe                	cmp    %esi,%edi
49c7e9:	75 0a                	jne    0x49c7f5
49c7eb:	89 08                	mov    %ecx,(%eax)
49c7ed:	89 48 04             	mov    %ecx,0x4(%eax)
49c7f0:	e9 88 00 00 00       	jmp    0x49c87d
49c7f5:	8b 40 04             	mov    0x4(%eax),%eax
49c7f8:	8b 71 08             	mov    0x8(%ecx),%esi
49c7fb:	3b 70 08             	cmp    0x8(%eax),%esi
49c7fe:	8b 75 08             	mov    0x8(%ebp),%esi
49c801:	75 34                	jne    0x49c837
49c803:	3b 58 0c             	cmp    0xc(%eax),%ebx
49c806:	75 2f                	jne    0x49c837
49c808:	8b 00                	mov    (%eax),%eax
49c80a:	89 45 fc             	mov    %eax,-0x4(%ebp)
49c80d:	3b c1                	cmp    %ecx,%eax
49c80f:	74 1e                	je     0x49c82f
49c811:	8b 59 04             	mov    0x4(%ecx),%ebx
49c814:	8b 75 fc             	mov    -0x4(%ebp),%esi
49c817:	89 13                	mov    %edx,(%ebx)
49c819:	8b 7a 04             	mov    0x4(%edx),%edi
49c81c:	89 07                	mov    %eax,(%edi)
49c81e:	8b 40 04             	mov    0x4(%eax),%eax
49c821:	89 08                	mov    %ecx,(%eax)
49c823:	89 7e 04             	mov    %edi,0x4(%esi)
49c826:	8b 75 08             	mov    0x8(%ebp),%esi
49c829:	89 5a 04             	mov    %ebx,0x4(%edx)
49c82c:	89 41 04             	mov    %eax,0x4(%ecx)
49c82f:	8b 45 f8             	mov    -0x8(%ebp),%eax
49c832:	89 48 04             	mov    %ecx,0x4(%eax)
49c835:	eb 46                	jmp    0x49c87d
49c837:	89 45 fc             	mov    %eax,-0x4(%ebp)
49c83a:	3b f8                	cmp    %eax,%edi
49c83c:	74 19                	je     0x49c857
49c83e:	66 90                	xchg   %ax,%ax
49c840:	8b 40 04             	mov    0x4(%eax),%eax
49c843:	8b 71 08             	mov    0x8(%ecx),%esi
49c846:	89 45 fc             	mov    %eax,-0x4(%ebp)
49c849:	3b 70 08             	cmp    0x8(%eax),%esi
49c84c:	75 05                	jne    0x49c853
49c84e:	3b 58 0c             	cmp    0xc(%eax),%ebx
49c851:	74 3d                	je     0x49c890
49c853:	3b f8                	cmp    %eax,%edi
49c855:	75 e9                	jne    0x49c840
49c857:	8b 59 04             	mov    0x4(%ecx),%ebx
49c85a:	8b 45 fc             	mov    -0x4(%ebp),%eax
49c85d:	8b 75 fc             	mov    -0x4(%ebp),%esi
49c860:	89 13                	mov    %edx,(%ebx)
49c862:	8b 7a 04             	mov    0x4(%edx),%edi
49c865:	89 07                	mov    %eax,(%edi)
49c867:	8b 40 04             	mov    0x4(%eax),%eax
49c86a:	89 08                	mov    %ecx,(%eax)
49c86c:	89 7e 04             	mov    %edi,0x4(%esi)
49c86f:	89 5a 04             	mov    %ebx,0x4(%edx)
49c872:	89 41 04             	mov    %eax,0x4(%ecx)
49c875:	8b 45 f8             	mov    -0x8(%ebp),%eax
49c878:	89 08                	mov    %ecx,(%eax)
49c87a:	8b 75 08             	mov    0x8(%ebp),%esi
49c87d:	8b ca                	mov    %edx,%ecx
49c87f:	3b d6                	cmp    %esi,%edx
49c881:	0f 85 3b ff ff ff    	jne    0x49c7c2
49c887:	5f                   	pop    %edi
49c888:	5e                   	pop    %esi
49c889:	5b                   	pop    %ebx
49c88a:	8b e5                	mov    %ebp,%esp
49c88c:	5d                   	pop    %ebp
49c88d:	c2 04 00             	ret    $0x4
49c890:	8b 59 04             	mov    0x4(%ecx),%ebx
49c893:	8b 00                	mov    (%eax),%eax
49c895:	89 45 f8             	mov    %eax,-0x8(%ebp)
49c898:	8b f0                	mov    %eax,%esi
49c89a:	89 13                	mov    %edx,(%ebx)
49c89c:	8b 7a 04             	mov    0x4(%edx),%edi
49c89f:	89 07                	mov    %eax,(%edi)
49c8a1:	8b 40 04             	mov    0x4(%eax),%eax
49c8a4:	89 08                	mov    %ecx,(%eax)
49c8a6:	89 7e 04             	mov    %edi,0x4(%esi)
49c8a9:	89 5a 04             	mov    %ebx,0x4(%edx)
49c8ac:	89 41 04             	mov    %eax,0x4(%ecx)
49c8af:	eb c9                	jmp    0x49c87a
49c8b1:	68 3c 64 60 00       	push   $0x60643c
49c8b6:	e8 1b 43 13 00       	call   0x5d0bd6
49c8bb:	cc                   	int3
49c8bc:	cc                   	int3
49c8bd:	cc                   	int3
49c8be:	cc                   	int3
49c8bf:	cc                   	int3
49c8c0:	55                   	push   %ebp
49c8c1:	8b ec                	mov    %esp,%ebp
49c8c3:	83 ec 10             	sub    $0x10,%esp
49c8c6:	8b 55 08             	mov    0x8(%ebp),%edx
49c8c9:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
49c8ce:	53                   	push   %ebx
49c8cf:	8b d9                	mov    %ecx,%ebx
49c8d1:	0f bd c8             	bsr    %eax,%ecx
49c8d4:	56                   	push   %esi
49c8d5:	be 01 00 00 00       	mov    $0x1,%esi
49c8da:	89 5d f0             	mov    %ebx,-0x10(%ebp)
49c8dd:	8b c6                	mov    %esi,%eax
49c8df:	d3 e0                	shl    %cl,%eax
49c8e1:	57                   	push   %edi
49c8e2:	3b d0                	cmp    %eax,%edx
49c8e4:	0f 87 6e 01 00 00    	ja     0x49ca58
49c8ea:	8d 42 ff             	lea    -0x1(%edx),%eax
49c8ed:	0b c6                	or     %esi,%eax
49c8ef:	0f bd c8             	bsr    %eax,%ecx
49c8f2:	8b 43 04             	mov    0x4(%ebx),%eax
49c8f5:	50                   	push   %eax
49c8f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
49c8f9:	8d 49 01             	lea    0x1(%ecx),%ecx
49c8fc:	d3 e6                	shl    %cl,%esi
49c8fe:	8d 4b 0c             	lea    0xc(%ebx),%ecx
49c901:	8d 04 36             	lea    (%esi,%esi,1),%eax
49c904:	50                   	push   %eax
49c905:	e8 d6 bf fb ff       	call   0x4588e0
49c90a:	8b 7b 04             	mov    0x4(%ebx),%edi
49c90d:	8d 46 ff             	lea    -0x1(%esi),%eax
49c910:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49c913:	89 43 18             	mov    %eax,0x18(%ebx)
49c916:	89 73 1c             	mov    %esi,0x1c(%ebx)
49c919:	8b 3f                	mov    (%edi),%edi
49c91b:	8b c7                	mov    %edi,%eax
49c91d:	3b f9                	cmp    %ecx,%edi
49c91f:	0f 84 0b 01 00 00    	je     0x49ca30
49c925:	8b 5f 0c             	mov    0xc(%edi),%ebx
49c928:	33 d2                	xor    %edx,%edx
49c92a:	8b 77 10             	mov    0x10(%edi),%esi
49c92d:	8b 00                	mov    (%eax),%eax
49c92f:	03 f3                	add    %ebx,%esi
49c931:	89 45 08             	mov    %eax,0x8(%ebp)
49c934:	89 75 f4             	mov    %esi,-0xc(%ebp)
49c937:	3b de                	cmp    %esi,%ebx
49c939:	73 15                	jae    0x49c950
49c93b:	8b ce                	mov    %esi,%ecx
49c93d:	0f 1f 00             	nopl   (%eax)
49c940:	0f be 33             	movsbl (%ebx),%esi
49c943:	8d 14 92             	lea    (%edx,%edx,4),%edx
49c946:	43                   	inc    %ebx
49c947:	03 d6                	add    %esi,%edx
49c949:	3b d9                	cmp    %ecx,%ebx
49c94b:	72 f3                	jb     0x49c940
49c94d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49c950:	69 77 08 93 01 00 01 	imul   $0x1000193,0x8(%edi),%esi
49c957:	33 f2                	xor    %edx,%esi
49c959:	8b 55 f0             	mov    -0x10(%ebp),%edx
49c95c:	23 72 18             	and    0x18(%edx),%esi
49c95f:	8b 52 0c             	mov    0xc(%edx),%edx
49c962:	8b 1c f2             	mov    (%edx,%esi,8),%ebx
49c965:	8d 14 f2             	lea    (%edx,%esi,8),%edx
49c968:	89 55 f4             	mov    %edx,-0xc(%ebp)
49c96b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
49c96e:	3b d9                	cmp    %ecx,%ebx
49c970:	75 0a                	jne    0x49c97c
49c972:	89 3a                	mov    %edi,(%edx)
49c974:	89 7a 04             	mov    %edi,0x4(%edx)
49c977:	e9 a8 00 00 00       	jmp    0x49ca24
49c97c:	8b 72 04             	mov    0x4(%edx),%esi
49c97f:	8b 4f 08             	mov    0x8(%edi),%ecx
49c982:	3b 4e 08             	cmp    0x8(%esi),%ecx
49c985:	75 44                	jne    0x49c9cb
49c987:	ff 76 10             	push   0x10(%esi)
49c98a:	ff 76 0c             	push   0xc(%esi)
49c98d:	ff 77 10             	push   0x10(%edi)
49c990:	ff 77 0c             	push   0xc(%edi)
49c993:	e8 f8 18 fe ff       	call   0x47e290
49c998:	83 c4 10             	add    $0x10,%esp
49c99b:	84 c0                	test   %al,%al
49c99d:	8b 45 08             	mov    0x8(%ebp),%eax
49c9a0:	74 26                	je     0x49c9c8
49c9a2:	8b 1e                	mov    (%esi),%ebx
49c9a4:	3b df                	cmp    %edi,%ebx
49c9a6:	74 18                	je     0x49c9c0
49c9a8:	8b 77 04             	mov    0x4(%edi),%esi
49c9ab:	89 06                	mov    %eax,(%esi)
49c9ad:	8b 50 04             	mov    0x4(%eax),%edx
49c9b0:	89 1a                	mov    %ebx,(%edx)
49c9b2:	8b 4b 04             	mov    0x4(%ebx),%ecx
49c9b5:	89 39                	mov    %edi,(%ecx)
49c9b7:	89 53 04             	mov    %edx,0x4(%ebx)
49c9ba:	89 70 04             	mov    %esi,0x4(%eax)
49c9bd:	89 4f 04             	mov    %ecx,0x4(%edi)
49c9c0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49c9c3:	89 79 04             	mov    %edi,0x4(%ecx)
49c9c6:	eb 59                	jmp    0x49ca21
49c9c8:	8b 4f 08             	mov    0x8(%edi),%ecx
49c9cb:	8b de                	mov    %esi,%ebx
49c9cd:	39 75 f8             	cmp    %esi,-0x8(%ebp)
49c9d0:	74 32                	je     0x49ca04
49c9d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
49c9d5:	8b 76 04             	mov    0x4(%esi),%esi
49c9d8:	8b de                	mov    %esi,%ebx
49c9da:	3b 4e 08             	cmp    0x8(%esi),%ecx
49c9dd:	75 1e                	jne    0x49c9fd
49c9df:	ff 76 10             	push   0x10(%esi)
49c9e2:	ff 76 0c             	push   0xc(%esi)
49c9e5:	ff 77 10             	push   0x10(%edi)
49c9e8:	ff 77 0c             	push   0xc(%edi)
49c9eb:	e8 a0 18 fe ff       	call   0x47e290
49c9f0:	83 c4 10             	add    $0x10,%esp
49c9f3:	84 c0                	test   %al,%al
49c9f5:	75 42                	jne    0x49ca39
49c9f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
49c9fa:	8b 4f 08             	mov    0x8(%edi),%ecx
49c9fd:	3b c6                	cmp    %esi,%eax
49c9ff:	75 d4                	jne    0x49c9d5
49ca01:	8b 45 08             	mov    0x8(%ebp),%eax
49ca04:	8b 77 04             	mov    0x4(%edi),%esi
49ca07:	89 06                	mov    %eax,(%esi)
49ca09:	8b 50 04             	mov    0x4(%eax),%edx
49ca0c:	89 1a                	mov    %ebx,(%edx)
49ca0e:	8b 4b 04             	mov    0x4(%ebx),%ecx
49ca11:	89 39                	mov    %edi,(%ecx)
49ca13:	89 53 04             	mov    %edx,0x4(%ebx)
49ca16:	89 70 04             	mov    %esi,0x4(%eax)
49ca19:	89 4f 04             	mov    %ecx,0x4(%edi)
49ca1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49ca1f:	89 39                	mov    %edi,(%ecx)
49ca21:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49ca24:	8b f8                	mov    %eax,%edi
49ca26:	3b c1                	cmp    %ecx,%eax
49ca28:	0f 85 f7 fe ff ff    	jne    0x49c925
49ca2e:	66 90                	xchg   %ax,%ax
49ca30:	5f                   	pop    %edi
49ca31:	5e                   	pop    %esi
49ca32:	5b                   	pop    %ebx
49ca33:	8b e5                	mov    %ebp,%esp
49ca35:	5d                   	pop    %ebp
49ca36:	c2 04 00             	ret    $0x4
49ca39:	8b 1e                	mov    (%esi),%ebx
49ca3b:	8b 77 04             	mov    0x4(%edi),%esi
49ca3e:	8b 45 08             	mov    0x8(%ebp),%eax
49ca41:	89 06                	mov    %eax,(%esi)
49ca43:	8b 50 04             	mov    0x4(%eax),%edx
49ca46:	89 1a                	mov    %ebx,(%edx)
49ca48:	8b 4b 04             	mov    0x4(%ebx),%ecx
49ca4b:	89 39                	mov    %edi,(%ecx)
49ca4d:	89 53 04             	mov    %edx,0x4(%ebx)
49ca50:	89 70 04             	mov    %esi,0x4(%eax)
49ca53:	89 4f 04             	mov    %ecx,0x4(%edi)
49ca56:	eb c9                	jmp    0x49ca21
49ca58:	68 3c 64 60 00       	push   $0x60643c
49ca5d:	e8 74 41 13 00       	call   0x5d0bd6
49ca62:	cc                   	int3