641a30:	8b cf                	mov    %edi,%ecx
641a32:	50                   	push   %eax
641a33:	e8 28 00 00 00       	call   0x641a60
641a38:	8b 45 0c             	mov    0xc(%ebp),%eax
641a3b:	3b 45 10             	cmp    0x10(%ebp),%eax
641a3e:	75 a8                	jne    0x6419e8
641a40:	8b 4d 08             	mov    0x8(%ebp),%ecx
641a43:	89 01                	mov    %eax,(%ecx)
641a45:	8b c1                	mov    %ecx,%eax
641a47:	8b 4d f4             	mov    -0xc(%ebp),%ecx
641a4a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
641a51:	59                   	pop    %ecx
641a52:	5f                   	pop    %edi
641a53:	8b e5                	mov    %ebp,%esp
641a55:	5d                   	pop    %ebp
641a56:	c2 0c 00             	ret    $0xc
641a59:	cc                   	int3
641a5a:	cc                   	int3
641a5b:	cc                   	int3
641a5c:	cc                   	int3
641a5d:	cc                   	int3
641a5e:	cc                   	int3
641a5f:	cc                   	int3
641a60:	55                   	push   %ebp
641a61:	8b ec                	mov    %esp,%ebp
641a63:	83 ec 08             	sub    $0x8,%esp
641a66:	8b 45 0c             	mov    0xc(%ebp),%eax
641a69:	53                   	push   %ebx
641a6a:	56                   	push   %esi
641a6b:	8b d9                	mov    %ecx,%ebx
641a6d:	89 45 fc             	mov    %eax,-0x4(%ebp)
641a70:	57                   	push   %edi
641a71:	8d 4d 0c             	lea    0xc(%ebp),%ecx
641a74:	e8 d7 60 ff ff       	call   0x637b50
641a79:	8b 4d fc             	mov    -0x4(%ebp),%ecx
641a7c:	8b 31                	mov    (%ecx),%esi
641a7e:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
641a82:	74 05                	je     0x641a89
641a84:	8b 79 08             	mov    0x8(%ecx),%edi
641a87:	eb 1b                	jmp    0x641aa4
641a89:	8b 41 08             	mov    0x8(%ecx),%eax
641a8c:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641a90:	74 04                	je     0x641a96
641a92:	8b fe                	mov    %esi,%edi
641a94:	eb 0e                	jmp    0x641aa4
641a96:	8b 55 0c             	mov    0xc(%ebp),%edx
641a99:	8b 7a 08             	mov    0x8(%edx),%edi
641a9c:	3b d1                	cmp    %ecx,%edx
641a9e:	0f 85 83 00 00 00    	jne    0x641b27
641aa4:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641aa8:	8b 71 04             	mov    0x4(%ecx),%esi
641aab:	75 03                	jne    0x641ab0
641aad:	89 77 04             	mov    %esi,0x4(%edi)
641ab0:	8b 03                	mov    (%ebx),%eax
641ab2:	39 48 04             	cmp    %ecx,0x4(%eax)
641ab5:	75 05                	jne    0x641abc
641ab7:	89 78 04             	mov    %edi,0x4(%eax)
641aba:	eb 0b                	jmp    0x641ac7
641abc:	39 0e                	cmp    %ecx,(%esi)
641abe:	75 04                	jne    0x641ac4
641ac0:	89 3e                	mov    %edi,(%esi)
641ac2:	eb 03                	jmp    0x641ac7
641ac4:	89 7e 08             	mov    %edi,0x8(%esi)
641ac7:	8b 03                	mov    (%ebx),%eax
641ac9:	39 08                	cmp    %ecx,(%eax)
641acb:	75 22                	jne    0x641aef
641acd:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641ad1:	74 04                	je     0x641ad7
641ad3:	8b d6                	mov    %esi,%edx
641ad5:	eb 16                	jmp    0x641aed
641ad7:	8b 07                	mov    (%edi),%eax
641ad9:	8b d7                	mov    %edi,%edx
641adb:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641adf:	75 0a                	jne    0x641aeb
641ae1:	8b d0                	mov    %eax,%edx
641ae3:	8b 02                	mov    (%edx),%eax
641ae5:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641ae9:	74 f6                	je     0x641ae1
641aeb:	8b 03                	mov    (%ebx),%eax
641aed:	89 10                	mov    %edx,(%eax)
641aef:	8b 03                	mov    (%ebx),%eax
641af1:	39 48 08             	cmp    %ecx,0x8(%eax)
641af4:	0f 85 8b 00 00 00    	jne    0x641b85
641afa:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641afe:	74 0a                	je     0x641b0a
641b00:	8b d6                	mov    %esi,%edx
641b02:	89 50 08             	mov    %edx,0x8(%eax)
641b05:	e9 7b 00 00 00       	jmp    0x641b85
641b0a:	8b 47 08             	mov    0x8(%edi),%eax
641b0d:	8b d7                	mov    %edi,%edx
641b0f:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641b13:	75 0b                	jne    0x641b20
641b15:	8b d0                	mov    %eax,%edx
641b17:	8b 42 08             	mov    0x8(%edx),%eax
641b1a:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641b1e:	74 f5                	je     0x641b15
641b20:	8b 03                	mov    (%ebx),%eax
641b22:	89 50 08             	mov    %edx,0x8(%eax)
641b25:	eb 5e                	jmp    0x641b85
641b27:	89 56 04             	mov    %edx,0x4(%esi)
641b2a:	8b 01                	mov    (%ecx),%eax
641b2c:	89 02                	mov    %eax,(%edx)
641b2e:	3b 51 08             	cmp    0x8(%ecx),%edx
641b31:	75 04                	jne    0x641b37
641b33:	8b f2                	mov    %edx,%esi
641b35:	eb 1a                	jmp    0x641b51
641b37:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641b3b:	8b 72 04             	mov    0x4(%edx),%esi
641b3e:	75 03                	jne    0x641b43
641b40:	89 77 04             	mov    %esi,0x4(%edi)
641b43:	89 3e                	mov    %edi,(%esi)
641b45:	8b 41 08             	mov    0x8(%ecx),%eax
641b48:	89 42 08             	mov    %eax,0x8(%edx)
641b4b:	8b 41 08             	mov    0x8(%ecx),%eax
641b4e:	89 50 04             	mov    %edx,0x4(%eax)
641b51:	8b 03                	mov    (%ebx),%eax
641b53:	39 48 04             	cmp    %ecx,0x4(%eax)
641b56:	75 05                	jne    0x641b5d
641b58:	89 50 04             	mov    %edx,0x4(%eax)
641b5b:	eb 0e                	jmp    0x641b6b
641b5d:	8b 41 04             	mov    0x4(%ecx),%eax
641b60:	39 08                	cmp    %ecx,(%eax)
641b62:	75 04                	jne    0x641b68
641b64:	89 10                	mov    %edx,(%eax)
641b66:	eb 03                	jmp    0x641b6b
641b68:	89 50 08             	mov    %edx,0x8(%eax)
641b6b:	8b 41 04             	mov    0x4(%ecx),%eax
641b6e:	89 42 04             	mov    %eax,0x4(%edx)
641b71:	8b 45 fc             	mov    -0x4(%ebp),%eax
641b74:	8a 4a 0c             	mov    0xc(%edx),%cl
641b77:	8a 40 0c             	mov    0xc(%eax),%al
641b7a:	88 42 0c             	mov    %al,0xc(%edx)
641b7d:	8b 45 fc             	mov    -0x4(%ebp),%eax
641b80:	88 48 0c             	mov    %cl,0xc(%eax)
641b83:	8b c8                	mov    %eax,%ecx
641b85:	80 79 0c 01          	cmpb   $0x1,0xc(%ecx)
641b89:	0f 85 12 01 00 00    	jne    0x641ca1
641b8f:	8b 03                	mov    (%ebx),%eax
641b91:	3b 78 04             	cmp    0x4(%eax),%edi
641b94:	0f 84 03 01 00 00    	je     0x641c9d
641b9a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
641ba0:	80 7f 0c 01          	cmpb   $0x1,0xc(%edi)
641ba4:	0f 85 f0 00 00 00    	jne    0x641c9a
641baa:	8b 0e                	mov    (%esi),%ecx
641bac:	3b f9                	cmp    %ecx,%edi
641bae:	75 70                	jne    0x641c20
641bb0:	8b 4e 08             	mov    0x8(%esi),%ecx
641bb3:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
641bb7:	75 13                	jne    0x641bcc
641bb9:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
641bbd:	8b cb                	mov    %ebx,%ecx
641bbf:	56                   	push   %esi
641bc0:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
641bc4:	e8 d7 10 e5 ff       	call   0x492ca0
641bc9:	8b 4e 08             	mov    0x8(%esi),%ecx
641bcc:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
641bd0:	0f 85 7d 00 00 00    	jne    0x641c53
641bd6:	8b 01                	mov    (%ecx),%eax
641bd8:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
641bdc:	75 09                	jne    0x641be7
641bde:	8b 41 08             	mov    0x8(%ecx),%eax
641be1:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
641be5:	74 68                	je     0x641c4f
641be7:	8b 41 08             	mov    0x8(%ecx),%eax
641bea:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
641bee:	75 15                	jne    0x641c05
641bf0:	8b 01                	mov    (%ecx),%eax
641bf2:	51                   	push   %ecx
641bf3:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
641bf7:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
641bfb:	8b cb                	mov    %ebx,%ecx
641bfd:	e8 fe 10 e5 ff       	call   0x492d00
641c02:	8b 4e 08             	mov    0x8(%esi),%ecx
641c05:	8a 46 0c             	mov    0xc(%esi),%al
641c08:	88 41 0c             	mov    %al,0xc(%ecx)
641c0b:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
641c0f:	8b 41 08             	mov    0x8(%ecx),%eax
641c12:	8b cb                	mov    %ebx,%ecx
641c14:	56                   	push   %esi
641c15:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
641c19:	e8 82 10 e5 ff       	call   0x492ca0
641c1e:	eb 7a                	jmp    0x641c9a
641c20:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
641c24:	75 12                	jne    0x641c38
641c26:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
641c2a:	8b cb                	mov    %ebx,%ecx
641c2c:	56                   	push   %esi
641c2d:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
641c31:	e8 ca 10 e5 ff       	call   0x492d00
641c36:	8b 0e                	mov    (%esi),%ecx
641c38:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
641c3c:	75 15                	jne    0x641c53
641c3e:	8b 41 08             	mov    0x8(%ecx),%eax
641c41:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
641c45:	75 1e                	jne    0x641c65
641c47:	8b 01                	mov    (%ecx),%eax
641c49:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
641c4d:	75 16                	jne    0x641c65
641c4f:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
641c53:	8b 03                	mov    (%ebx),%eax
641c55:	8b fe                	mov    %esi,%edi
641c57:	8b 76 04             	mov    0x4(%esi),%esi
641c5a:	3b 78 04             	cmp    0x4(%eax),%edi
641c5d:	0f 85 3d ff ff ff    	jne    0x641ba0
641c63:	eb 35                	jmp    0x641c9a
641c65:	8b 01                	mov    (%ecx),%eax
641c67:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
641c6b:	75 15                	jne    0x641c82
641c6d:	8b 41 08             	mov    0x8(%ecx),%eax
641c70:	51                   	push   %ecx
641c71:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
641c75:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
641c79:	8b cb                	mov    %ebx,%ecx
641c7b:	e8 20 10 e5 ff       	call   0x492ca0
641c80:	8b 0e                	mov    (%esi),%ecx
641c82:	8a 46 0c             	mov    0xc(%esi),%al
641c85:	88 41 0c             	mov    %al,0xc(%ecx)
641c88:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
641c8c:	8b 01                	mov    (%ecx),%eax
641c8e:	8b cb                	mov    %ebx,%ecx
641c90:	56                   	push   %esi
641c91:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
641c95:	e8 66 10 e5 ff       	call   0x492d00
641c9a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
641c9d:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
641ca1:	8d 71 10             	lea    0x10(%ecx),%esi
641ca4:	8b 46 2c             	mov    0x2c(%esi),%eax
641ca7:	8d 7e 18             	lea    0x18(%esi),%edi
641caa:	83 f8 08             	cmp    $0x8,%eax
641cad:	72 4a                	jb     0x641cf9
641caf:	8b 0f                	mov    (%edi),%ecx
641cb1:	40                   	inc    %eax
641cb2:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
641cb7:	0f 87 df 00 00 00    	ja     0x641d9c
641cbd:	03 c0                	add    %eax,%eax
641cbf:	3d 00 10 00 00       	cmp    $0x1000,%eax
641cc4:	72 2a                	jb     0x641cf0
641cc6:	f6 c1 1f             	test   $0x1f,%cl
641cc9:	0f 85 d2 00 00 00    	jne    0x641da1
641ccf:	8b 41 fc             	mov    -0x4(%ecx),%eax
641cd2:	3b c1                	cmp    %ecx,%eax
641cd4:	0f 83 cc 00 00 00    	jae    0x641da6
641cda:	2b c8                	sub    %eax,%ecx
641cdc:	83 f9 04             	cmp    $0x4,%ecx
641cdf:	0f 82 c6 00 00 00    	jb     0x641dab
641ce5:	83 f9 23             	cmp    $0x23,%ecx
641ce8:	0f 87 c2 00 00 00    	ja     0x641db0
641cee:	8b c8                	mov    %eax,%ecx
641cf0:	51                   	push   %ecx
641cf1:	e8 da e7 ea ff       	call   0x4f04d0
641cf6:	83 c4 04             	add    $0x4,%esp
641cf9:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
641d00:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
641d07:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
641d0b:	72 02                	jb     0x641d0f
641d0d:	8b 3f                	mov    (%edi),%edi
641d0f:	33 c0                	xor    %eax,%eax
641d11:	66 89 07             	mov    %ax,(%edi)
641d14:	8b 46 14             	mov    0x14(%esi),%eax
641d17:	83 f8 08             	cmp    $0x8,%eax
641d1a:	72 3e                	jb     0x641d5a
641d1c:	8b 0e                	mov    (%esi),%ecx
641d1e:	40                   	inc    %eax
641d1f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
641d24:	0f 87 8b 00 00 00    	ja     0x641db5
641d2a:	03 c0                	add    %eax,%eax
641d2c:	3d 00 10 00 00       	cmp    $0x1000,%eax
641d31:	72 1e                	jb     0x641d51
641d33:	f6 c1 1f             	test   $0x1f,%cl
641d36:	0f 85 7e 00 00 00    	jne    0x641dba
641d3c:	8b 41 fc             	mov    -0x4(%ecx),%eax
641d3f:	3b c1                	cmp    %ecx,%eax
641d41:	73 7c                	jae    0x641dbf
641d43:	2b c8                	sub    %eax,%ecx
641d45:	83 f9 04             	cmp    $0x4,%ecx
641d48:	72 7a                	jb     0x641dc4
641d4a:	83 f9 23             	cmp    $0x23,%ecx
641d4d:	77 7a                	ja     0x641dc9
641d4f:	8b c8                	mov    %eax,%ecx
641d51:	51                   	push   %ecx
641d52:	e8 79 e7 ea ff       	call   0x4f04d0
641d57:	83 c4 04             	add    $0x4,%esp
641d5a:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
641d61:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
641d68:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
641d6c:	72 02                	jb     0x641d70
641d6e:	8b 36                	mov    (%esi),%esi
641d70:	ff 75 fc             	push   -0x4(%ebp)
641d73:	33 c0                	xor    %eax,%eax
641d75:	66 89 06             	mov    %ax,(%esi)
641d78:	e8 53 e7 ea ff       	call   0x4f04d0
641d7d:	8b 43 04             	mov    0x4(%ebx),%eax
641d80:	83 c4 04             	add    $0x4,%esp
641d83:	85 c0                	test   %eax,%eax
641d85:	74 04                	je     0x641d8b
641d87:	48                   	dec    %eax
641d88:	89 43 04             	mov    %eax,0x4(%ebx)
641d8b:	8b 45 08             	mov    0x8(%ebp),%eax
641d8e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
641d91:	5f                   	pop    %edi
641d92:	5e                   	pop    %esi
641d93:	89 08                	mov    %ecx,(%eax)
641d95:	5b                   	pop    %ebx
641d96:	8b e5                	mov    %ebp,%esp
641d98:	5d                   	pop    %ebp
641d99:	c2 08 00             	ret    $0x8
641d9c:	e8 8e b1 fa ff       	call   0x5ecf2f
641da1:	e8 89 b1 fa ff       	call   0x5ecf2f
641da6:	e8 84 b1 fa ff       	call   0x5ecf2f
641dab:	e8 7f b1 fa ff       	call   0x5ecf2f
641db0:	e8 7a b1 fa ff       	call   0x5ecf2f
641db5:	e8 75 b1 fa ff       	call   0x5ecf2f
641dba:	e8 70 b1 fa ff       	call   0x5ecf2f
641dbf:	e8 6b b1 fa ff       	call   0x5ecf2f
641dc4:	e8 66 b1 fa ff       	call   0x5ecf2f
641dc9:	e8 61 b1 fa ff       	call   0x5ecf2f
641dce:	cc                   	int3
641dcf:	cc                   	int3
641dd0:	55                   	push   %ebp
641dd1:	8b ec                	mov    %esp,%ebp
641dd3:	6a ff                	push   $0xffffffff
641dd5:	68 a6 48 66 00       	push   $0x6648a6
641dda:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
641de0:	50                   	push   %eax
641de1:	51                   	push   %ecx
641de2:	57                   	push   %edi
641de3:	a1 d4 89 72 00       	mov    0x7289d4,%eax
641de8:	33 c5                	xor    %ebp,%eax
641dea:	50                   	push   %eax
641deb:	8d 45 f4             	lea    -0xc(%ebp),%eax
641dee:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
641df4:	8b f9                	mov    %ecx,%edi
641df6:	8b 17                	mov    (%edi),%edx
641df8:	8b 45 0c             	mov    0xc(%ebp),%eax
641dfb:	3b 02                	cmp    (%edx),%eax
641dfd:	75 44                	jne    0x641e43
641dff:	39 55 10             	cmp    %edx,0x10(%ebp)
641e02:	75 3f                	jne    0x641e43
641e04:	ff 72 04             	push   0x4(%edx)
641e07:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
641e0e:	e8 5d ef ff ff       	call   0x640d70
641e13:	8b 07                	mov    (%edi),%eax
641e15:	89 40 04             	mov    %eax,0x4(%eax)
641e18:	8b 07                	mov    (%edi),%eax
641e1a:	89 00                	mov    %eax,(%eax)
641e1c:	8b 07                	mov    (%edi),%eax
641e1e:	89 40 08             	mov    %eax,0x8(%eax)
641e21:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
641e28:	8b 07                	mov    (%edi),%eax
641e2a:	8b 08                	mov    (%eax),%ecx