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
49ca63:	cc                   	int3
49ca64:	cc                   	int3
49ca65:	cc                   	int3
49ca66:	cc                   	int3
49ca67:	cc                   	int3
49ca68:	cc                   	int3
49ca69:	cc                   	int3
49ca6a:	cc                   	int3
49ca6b:	cc                   	int3
49ca6c:	cc                   	int3
49ca6d:	cc                   	int3
49ca6e:	cc                   	int3
49ca6f:	cc                   	int3
49ca70:	55                   	push   %ebp
49ca71:	8b ec                	mov    %esp,%ebp
49ca73:	83 ec 14             	sub    $0x14,%esp
49ca76:	8b 55 08             	mov    0x8(%ebp),%edx
49ca79:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
49ca7e:	53                   	push   %ebx
49ca7f:	8b d9                	mov    %ecx,%ebx
49ca81:	0f bd c8             	bsr    %eax,%ecx
49ca84:	56                   	push   %esi
49ca85:	be 01 00 00 00       	mov    $0x1,%esi
49ca8a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
49ca8d:	8b c6                	mov    %esi,%eax
49ca8f:	d3 e0                	shl    %cl,%eax
49ca91:	57                   	push   %edi
49ca92:	3b d0                	cmp    %eax,%edx
49ca94:	0f 87 a7 01 00 00    	ja     0x49cc41
49ca9a:	8d 42 ff             	lea    -0x1(%edx),%eax
49ca9d:	0b c6                	or     %esi,%eax
49ca9f:	0f bd c8             	bsr    %eax,%ecx
49caa2:	8b 43 04             	mov    0x4(%ebx),%eax
49caa5:	50                   	push   %eax
49caa6:	89 45 fc             	mov    %eax,-0x4(%ebp)
49caa9:	8d 49 01             	lea    0x1(%ecx),%ecx
49caac:	d3 e6                	shl    %cl,%esi
49caae:	8d 4b 0c             	lea    0xc(%ebx),%ecx
49cab1:	8d 04 36             	lea    (%esi,%esi,1),%eax
49cab4:	50                   	push   %eax
49cab5:	e8 26 be fb ff       	call   0x4588e0
49caba:	8b 7b 04             	mov    0x4(%ebx),%edi
49cabd:	8d 46 ff             	lea    -0x1(%esi),%eax
49cac0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49cac3:	89 43 18             	mov    %eax,0x18(%ebx)
49cac6:	89 73 1c             	mov    %esi,0x1c(%ebx)
49cac9:	8b 3f                	mov    (%edi),%edi
49cacb:	8b c7                	mov    %edi,%eax
49cacd:	3b f9                	cmp    %ecx,%edi
49cacf:	0f 84 44 01 00 00    	je     0x49cc19
49cad5:	83 7f 1c 10          	cmpl   $0x10,0x1c(%edi)
49cad9:	8d 5f 08             	lea    0x8(%edi),%ebx
49cadc:	8b 00                	mov    (%eax),%eax
49cade:	89 45 08             	mov    %eax,0x8(%ebp)
49cae1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
49cae4:	72 05                	jb     0x49caeb
49cae6:	8b 13                	mov    (%ebx),%edx
49cae8:	89 55 f4             	mov    %edx,-0xc(%ebp)
49caeb:	8b 73 10             	mov    0x10(%ebx),%esi
49caee:	33 d2                	xor    %edx,%edx
49caf0:	c7 45 f8 c5 9d 1c 81 	movl   $0x811c9dc5,-0x8(%ebp)
49caf7:	89 75 f0             	mov    %esi,-0x10(%ebp)
49cafa:	85 f6                	test   %esi,%esi
49cafc:	74 25                	je     0x49cb23
49cafe:	8b 4d f8             	mov    -0x8(%ebp),%ecx
49cb01:	8b c6                	mov    %esi,%eax
49cb03:	8b 5d f4             	mov    -0xc(%ebp),%ebx
49cb06:	0f b6 34 1a          	movzbl (%edx,%ebx,1),%esi
49cb0a:	42                   	inc    %edx
49cb0b:	33 f1                	xor    %ecx,%esi
49cb0d:	69 ce 93 01 00 01    	imul   $0x1000193,%esi,%ecx
49cb13:	3b d0                	cmp    %eax,%edx
49cb15:	72 ef                	jb     0x49cb06
49cb17:	8b 45 08             	mov    0x8(%ebp),%eax
49cb1a:	8d 5f 08             	lea    0x8(%edi),%ebx
49cb1d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
49cb20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49cb23:	8b 55 ec             	mov    -0x14(%ebp),%edx
49cb26:	8b 72 18             	mov    0x18(%edx),%esi
49cb29:	23 75 f8             	and    -0x8(%ebp),%esi
49cb2c:	8b 52 0c             	mov    0xc(%edx),%edx
49cb2f:	8d 14 f2             	lea    (%edx,%esi,8),%edx
49cb32:	8b 32                	mov    (%edx),%esi
49cb34:	89 55 f0             	mov    %edx,-0x10(%ebp)
49cb37:	89 75 f4             	mov    %esi,-0xc(%ebp)
49cb3a:	3b f1                	cmp    %ecx,%esi
49cb3c:	75 0a                	jne    0x49cb48
49cb3e:	89 3a                	mov    %edi,(%edx)
49cb40:	89 7a 04             	mov    %edi,0x4(%edx)
49cb43:	e9 c7 00 00 00       	jmp    0x49cc0f
49cb48:	8b 72 04             	mov    0x4(%edx),%esi
49cb4b:	83 7e 1c 10          	cmpl   $0x10,0x1c(%esi)
49cb4f:	8d 56 08             	lea    0x8(%esi),%edx
49cb52:	72 03                	jb     0x49cb57
49cb54:	8b 56 08             	mov    0x8(%esi),%edx
49cb57:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
49cb5b:	8b cb                	mov    %ebx,%ecx
49cb5d:	72 02                	jb     0x49cb61
49cb5f:	8b 0b                	mov    (%ebx),%ecx
49cb61:	ff 76 18             	push   0x18(%esi)
49cb64:	8b 43 10             	mov    0x10(%ebx),%eax
49cb67:	52                   	push   %edx
49cb68:	50                   	push   %eax
49cb69:	51                   	push   %ecx
49cb6a:	e8 c1 d9 fd ff       	call   0x47a530
49cb6f:	83 c4 10             	add    $0x10,%esp
49cb72:	84 c0                	test   %al,%al
49cb74:	74 29                	je     0x49cb9f
49cb76:	8b 1e                	mov    (%esi),%ebx
49cb78:	8b 45 08             	mov    0x8(%ebp),%eax
49cb7b:	3b df                	cmp    %edi,%ebx
49cb7d:	74 18                	je     0x49cb97
49cb7f:	8b 77 04             	mov    0x4(%edi),%esi
49cb82:	89 06                	mov    %eax,(%esi)
49cb84:	8b 50 04             	mov    0x4(%eax),%edx
49cb87:	89 1a                	mov    %ebx,(%edx)
49cb89:	8b 4b 04             	mov    0x4(%ebx),%ecx
49cb8c:	89 39                	mov    %edi,(%ecx)
49cb8e:	89 53 04             	mov    %edx,0x4(%ebx)
49cb91:	89 70 04             	mov    %esi,0x4(%eax)
49cb94:	89 4f 04             	mov    %ecx,0x4(%edi)
49cb97:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49cb9a:	89 79 04             	mov    %edi,0x4(%ecx)
49cb9d:	eb 6d                	jmp    0x49cc0c
49cb9f:	8b ce                	mov    %esi,%ecx
49cba1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
49cba4:	39 75 f4             	cmp    %esi,-0xc(%ebp)
49cba7:	74 40                	je     0x49cbe9
49cba9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
49cbb0:	8b 76 04             	mov    0x4(%esi),%esi
49cbb3:	89 75 f8             	mov    %esi,-0x8(%ebp)
49cbb6:	83 7e 1c 10          	cmpl   $0x10,0x1c(%esi)
49cbba:	8d 56 08             	lea    0x8(%esi),%edx
49cbbd:	72 03                	jb     0x49cbc2
49cbbf:	8b 56 08             	mov    0x8(%esi),%edx
49cbc2:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
49cbc6:	8b cb                	mov    %ebx,%ecx
49cbc8:	72 02                	jb     0x49cbcc
49cbca:	8b 0b                	mov    (%ebx),%ecx
49cbcc:	ff 76 18             	push   0x18(%esi)
49cbcf:	8b 43 10             	mov    0x10(%ebx),%eax
49cbd2:	52                   	push   %edx
49cbd3:	50                   	push   %eax
49cbd4:	51                   	push   %ecx
49cbd5:	e8 56 d9 fd ff       	call   0x47a530
49cbda:	83 c4 10             	add    $0x10,%esp
49cbdd:	84 c0                	test   %al,%al
49cbdf:	75 41                	jne    0x49cc22
49cbe1:	39 75 f4             	cmp    %esi,-0xc(%ebp)
49cbe4:	75 ca                	jne    0x49cbb0
49cbe6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
49cbe9:	8b 77 04             	mov    0x4(%edi),%esi
49cbec:	8b 45 08             	mov    0x8(%ebp),%eax
49cbef:	8b 5d f8             	mov    -0x8(%ebp),%ebx
49cbf2:	89 06                	mov    %eax,(%esi)
49cbf4:	8b 50 04             	mov    0x4(%eax),%edx
49cbf7:	89 0a                	mov    %ecx,(%edx)
49cbf9:	8b 49 04             	mov    0x4(%ecx),%ecx
49cbfc:	89 39                	mov    %edi,(%ecx)
49cbfe:	89 53 04             	mov    %edx,0x4(%ebx)
49cc01:	89 70 04             	mov    %esi,0x4(%eax)
49cc04:	89 4f 04             	mov    %ecx,0x4(%edi)
49cc07:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49cc0a:	89 39                	mov    %edi,(%ecx)
49cc0c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49cc0f:	8b f8                	mov    %eax,%edi
49cc11:	3b c1                	cmp    %ecx,%eax
49cc13:	0f 85 bc fe ff ff    	jne    0x49cad5
49cc19:	5f                   	pop    %edi
49cc1a:	5e                   	pop    %esi
49cc1b:	5b                   	pop    %ebx
49cc1c:	8b e5                	mov    %ebp,%esp
49cc1e:	5d                   	pop    %ebp
49cc1f:	c2 04 00             	ret    $0x4
49cc22:	8b 1e                	mov    (%esi),%ebx