6e8e28:	55                   	push   %ebp
6e8e29:	8b f9                	mov    %ecx,%edi
6e8e2b:	e8 7d d4 d1 ff       	call   0x4062ad
6e8e30:	8b 37                	mov    (%edi),%esi
6e8e32:	8b d8                	mov    %eax,%ebx
6e8e34:	8b 57 04             	mov    0x4(%edi),%edx
6e8e37:	2b d6                	sub    %esi,%edx
6e8e39:	52                   	push   %edx
6e8e3a:	56                   	push   %esi
6e8e3b:	53                   	push   %ebx
6e8e3c:	e8 41 5d d3 ff       	call   0x41eb82
6e8e41:	8b 0f                	mov    (%edi),%ecx
6e8e43:	83 c4 0c             	add    $0xc,%esp
6e8e46:	8b 77 04             	mov    0x4(%edi),%esi
6e8e49:	2b f1                	sub    %ecx,%esi
6e8e4b:	c1 fe 02             	sar    $0x2,%esi
6e8e4e:	85 c9                	test   %ecx,%ecx
6e8e50:	74 11                	je     0x6e8e63
6e8e52:	8b 47 08             	mov    0x8(%edi),%eax
6e8e55:	2b c1                	sub    %ecx,%eax
6e8e57:	c1 f8 02             	sar    $0x2,%eax
6e8e5a:	50                   	push   %eax
6e8e5b:	51                   	push   %ecx
6e8e5c:	8b cf                	mov    %edi,%ecx
6e8e5e:	e8 6b 48 d3 ff       	call   0x41d6ce
6e8e63:	8d 04 ab             	lea    (%ebx,%ebp,4),%eax
6e8e66:	89 47 08             	mov    %eax,0x8(%edi)
6e8e69:	8d 04 b3             	lea    (%ebx,%esi,4),%eax
6e8e6c:	89 47 04             	mov    %eax,0x4(%edi)
6e8e6f:	89 1f                	mov    %ebx,(%edi)
6e8e71:	5f                   	pop    %edi
6e8e72:	5e                   	pop    %esi
6e8e73:	5d                   	pop    %ebp
6e8e74:	5b                   	pop    %ebx
6e8e75:	c2 04 00             	ret    $0x4
6e8e78:	cc                   	int3
6e8e79:	cc                   	int3
6e8e7a:	cc                   	int3
6e8e7b:	cc                   	int3
6e8e7c:	cc                   	int3
6e8e7d:	cc                   	int3
6e8e7e:	cc                   	int3
6e8e7f:	cc                   	int3
6e8e80:	cc                   	int3
6e8e81:	cc                   	int3
6e8e82:	cc                   	int3
6e8e83:	cc                   	int3
6e8e84:	cc                   	int3
6e8e85:	cc                   	int3
6e8e86:	cc                   	int3
6e8e87:	cc                   	int3
6e8e88:	cc                   	int3
6e8e89:	cc                   	int3
6e8e8a:	cc                   	int3
6e8e8b:	cc                   	int3
6e8e8c:	cc                   	int3
6e8e8d:	cc                   	int3
6e8e8e:	cc                   	int3
6e8e8f:	cc                   	int3
6e8e90:	56                   	push   %esi
6e8e91:	8b f1                	mov    %ecx,%esi
6e8e93:	8b 4c 24 08          	mov    0x8(%esp),%ecx
6e8e97:	57                   	push   %edi
6e8e98:	8b 7e 08             	mov    0x8(%esi),%edi
6e8e9b:	8b c7                	mov    %edi,%eax
6e8e9d:	8b 56 04             	mov    0x4(%esi),%edx
6e8ea0:	2b c2                	sub    %edx,%eax
6e8ea2:	c1 f8 02             	sar    $0x2,%eax
6e8ea5:	3b c1                	cmp    %ecx,%eax
6e8ea7:	73 37                	jae    0x6e8ee0
6e8ea9:	2b 16                	sub    (%esi),%edx
6e8eab:	53                   	push   %ebx
6e8eac:	bb ff ff ff 3f       	mov    $0x3fffffff,%ebx
6e8eb1:	c1 fa 02             	sar    $0x2,%edx
6e8eb4:	8b c3                	mov    %ebx,%eax
6e8eb6:	2b c2                	sub    %edx,%eax
6e8eb8:	3b c1                	cmp    %ecx,%eax
6e8eba:	72 29                	jb     0x6e8ee5
6e8ebc:	2b 3e                	sub    (%esi),%edi
6e8ebe:	03 d1                	add    %ecx,%edx
6e8ec0:	c1 ff 02             	sar    $0x2,%edi
6e8ec3:	33 c9                	xor    %ecx,%ecx
6e8ec5:	8b c7                	mov    %edi,%eax
6e8ec7:	d1 e8                	shr    $1,%eax
6e8ec9:	2b d8                	sub    %eax,%ebx
6e8ecb:	03 c7                	add    %edi,%eax
6e8ecd:	3b df                	cmp    %edi,%ebx
6e8ecf:	0f 43 c8             	cmovae %eax,%ecx
6e8ed2:	3b ca                	cmp    %edx,%ecx
6e8ed4:	0f 43 d1             	cmovae %ecx,%edx
6e8ed7:	8b ce                	mov    %esi,%ecx
6e8ed9:	52                   	push   %edx
6e8eda:	e8 99 cb d2 ff       	call   0x415a78
6e8edf:	5b                   	pop    %ebx
6e8ee0:	5f                   	pop    %edi
6e8ee1:	5e                   	pop    %esi
6e8ee2:	c2 04 00             	ret    $0x4
6e8ee5:	68 58 20 bd 00       	push   $0xbd2058
6e8eea:	e8 27 09 d4 ff       	call   0x429816
6e8eef:	cc                   	int3
6e8ef0:	cc                   	int3
6e8ef1:	cc                   	int3
6e8ef2:	cc                   	int3
6e8ef3:	cc                   	int3
6e8ef4:	cc                   	int3
6e8ef5:	cc                   	int3
6e8ef6:	cc                   	int3
6e8ef7:	cc                   	int3
6e8ef8:	cc                   	int3
6e8ef9:	cc                   	int3
6e8efa:	cc                   	int3
6e8efb:	cc                   	int3
6e8efc:	cc                   	int3
6e8efd:	cc                   	int3
6e8efe:	cc                   	int3
6e8eff:	cc                   	int3
6e8f00:	cc                   	int3
6e8f01:	cc                   	int3
6e8f02:	cc                   	int3
6e8f03:	cc                   	int3
6e8f04:	cc                   	int3
6e8f05:	cc                   	int3
6e8f06:	cc                   	int3
6e8f07:	cc                   	int3
6e8f08:	cc                   	int3
6e8f09:	cc                   	int3
6e8f0a:	cc                   	int3
6e8f0b:	cc                   	int3
6e8f0c:	cc                   	int3
6e8f0d:	cc                   	int3
6e8f0e:	cc                   	int3
6e8f0f:	cc                   	int3
6e8f10:	56                   	push   %esi
6e8f11:	8b f1                	mov    %ecx,%esi
6e8f13:	8b 4c 24 08          	mov    0x8(%esp),%ecx
6e8f17:	57                   	push   %edi
6e8f18:	8b 7e 08             	mov    0x8(%esi),%edi
6e8f1b:	8b c7                	mov    %edi,%eax
6e8f1d:	8b 56 04             	mov    0x4(%esi),%edx
6e8f20:	2b c2                	sub    %edx,%eax
6e8f22:	c1 f8 02             	sar    $0x2,%eax
6e8f25:	3b c1                	cmp    %ecx,%eax
6e8f27:	73 37                	jae    0x6e8f60
6e8f29:	2b 16                	sub    (%esi),%edx
6e8f2b:	53                   	push   %ebx
6e8f2c:	bb ff ff ff 3f       	mov    $0x3fffffff,%ebx
6e8f31:	c1 fa 02             	sar    $0x2,%edx
6e8f34:	8b c3                	mov    %ebx,%eax
6e8f36:	2b c2                	sub    %edx,%eax
6e8f38:	3b c1                	cmp    %ecx,%eax
6e8f3a:	72 29                	jb     0x6e8f65
6e8f3c:	2b 3e                	sub    (%esi),%edi
6e8f3e:	03 d1                	add    %ecx,%edx
6e8f40:	c1 ff 02             	sar    $0x2,%edi
6e8f43:	33 c9                	xor    %ecx,%ecx
6e8f45:	8b c7                	mov    %edi,%eax
6e8f47:	d1 e8                	shr    $1,%eax
6e8f49:	2b d8                	sub    %eax,%ebx
6e8f4b:	03 c7                	add    %edi,%eax
6e8f4d:	3b df                	cmp    %edi,%ebx
6e8f4f:	0f 43 c8             	cmovae %eax,%ecx
6e8f52:	3b ca                	cmp    %edx,%ecx
6e8f54:	0f 43 d1             	cmovae %ecx,%edx
6e8f57:	8b ce                	mov    %esi,%ecx
6e8f59:	52                   	push   %edx
6e8f5a:	e8 f7 ac d1 ff       	call   0x403c56
6e8f5f:	5b                   	pop    %ebx
6e8f60:	5f                   	pop    %edi
6e8f61:	5e                   	pop    %esi
6e8f62:	c2 04 00             	ret    $0x4
6e8f65:	68 58 20 bd 00       	push   $0xbd2058
6e8f6a:	e8 a7 08 d4 ff       	call   0x429816
6e8f6f:	cc                   	int3
6e8f70:	cc                   	int3
6e8f71:	cc                   	int3
6e8f72:	cc                   	int3
6e8f73:	cc                   	int3
6e8f74:	cc                   	int3
6e8f75:	cc                   	int3
6e8f76:	cc                   	int3
6e8f77:	cc                   	int3
6e8f78:	cc                   	int3
6e8f79:	cc                   	int3
6e8f7a:	cc                   	int3
6e8f7b:	cc                   	int3
6e8f7c:	cc                   	int3
6e8f7d:	cc                   	int3
6e8f7e:	cc                   	int3
6e8f7f:	cc                   	int3
6e8f80:	cc                   	int3
6e8f81:	cc                   	int3
6e8f82:	cc                   	int3
6e8f83:	cc                   	int3
6e8f84:	cc                   	int3
6e8f85:	cc                   	int3
6e8f86:	cc                   	int3
6e8f87:	cc                   	int3
6e8f88:	cc                   	int3
6e8f89:	cc                   	int3
6e8f8a:	cc                   	int3
6e8f8b:	cc                   	int3
6e8f8c:	cc                   	int3
6e8f8d:	cc                   	int3
6e8f8e:	cc                   	int3
6e8f8f:	cc                   	int3
6e8f90:	8b 44 24 04          	mov    0x4(%esp),%eax
6e8f94:	83 c0 08             	add    $0x8,%eax
6e8f97:	c3                   	ret
6e8f98:	cc                   	int3
6e8f99:	cc                   	int3
6e8f9a:	cc                   	int3
6e8f9b:	cc                   	int3
6e8f9c:	cc                   	int3
6e8f9d:	cc                   	int3
6e8f9e:	cc                   	int3
6e8f9f:	cc                   	int3
6e8fa0:	8b 44 24 04          	mov    0x4(%esp),%eax
6e8fa4:	83 c0 08             	add    $0x8,%eax
6e8fa7:	c3                   	ret
6e8fa8:	cc                   	int3
6e8fa9:	cc                   	int3
6e8faa:	cc                   	int3
6e8fab:	cc                   	int3
6e8fac:	cc                   	int3
6e8fad:	cc                   	int3
6e8fae:	cc                   	int3
6e8faf:	cc                   	int3
6e8fb0:	8b 44 24 04          	mov    0x4(%esp),%eax
6e8fb4:	83 c0 08             	add    $0x8,%eax
6e8fb7:	c3                   	ret
6e8fb8:	cc                   	int3
6e8fb9:	cc                   	int3
6e8fba:	cc                   	int3
6e8fbb:	cc                   	int3
6e8fbc:	cc                   	int3
6e8fbd:	cc                   	int3
6e8fbe:	cc                   	int3
6e8fbf:	cc                   	int3
6e8fc0:	8b 44 24 04          	mov    0x4(%esp),%eax
6e8fc4:	83 c0 08             	add    $0x8,%eax
6e8fc7:	c3                   	ret
6e8fc8:	cc                   	int3
6e8fc9:	cc                   	int3
6e8fca:	cc                   	int3
6e8fcb:	cc                   	int3
6e8fcc:	cc                   	int3
6e8fcd:	cc                   	int3
6e8fce:	cc                   	int3
6e8fcf:	cc                   	int3
6e8fd0:	8b 01                	mov    (%ecx),%eax
6e8fd2:	83 c0 08             	add    $0x8,%eax
6e8fd5:	c3                   	ret
6e8fd6:	cc                   	int3
6e8fd7:	cc                   	int3
6e8fd8:	cc                   	int3
6e8fd9:	cc                   	int3
6e8fda:	cc                   	int3
6e8fdb:	cc                   	int3
6e8fdc:	cc                   	int3
6e8fdd:	cc                   	int3
6e8fde:	cc                   	int3
6e8fdf:	cc                   	int3
6e8fe0:	8b 01                	mov    (%ecx),%eax
6e8fe2:	83 c0 08             	add    $0x8,%eax
6e8fe5:	c3                   	ret
6e8fe6:	cc                   	int3
6e8fe7:	cc                   	int3
6e8fe8:	cc                   	int3
6e8fe9:	cc                   	int3
6e8fea:	cc                   	int3
6e8feb:	cc                   	int3
6e8fec:	cc                   	int3
6e8fed:	cc                   	int3
6e8fee:	cc                   	int3
6e8fef:	cc                   	int3
6e8ff0:	8b 01                	mov    (%ecx),%eax
6e8ff2:	83 c0 04             	add    $0x4,%eax
6e8ff5:	c3                   	ret
6e8ff6:	cc                   	int3
6e8ff7:	cc                   	int3
6e8ff8:	cc                   	int3
6e8ff9:	cc                   	int3
6e8ffa:	cc                   	int3
6e8ffb:	cc                   	int3
6e8ffc:	cc                   	int3
6e8ffd:	cc                   	int3
6e8ffe:	cc                   	int3
6e8fff:	cc                   	int3
6e9000:	8b 01                	mov    (%ecx),%eax
6e9002:	83 c0 04             	add    $0x4,%eax
6e9005:	c3                   	ret
6e9006:	cc                   	int3
6e9007:	cc                   	int3
6e9008:	cc                   	int3
6e9009:	cc                   	int3
6e900a:	cc                   	int3
6e900b:	cc                   	int3
6e900c:	cc                   	int3
6e900d:	cc                   	int3
6e900e:	cc                   	int3
6e900f:	cc                   	int3
6e9010:	8b 54 24 04          	mov    0x4(%esp),%edx
6e9014:	56                   	push   %esi
6e9015:	8b 32                	mov    (%edx),%esi
6e9017:	8b 46 08             	mov    0x8(%esi),%eax
6e901a:	89 02                	mov    %eax,(%edx)
6e901c:	8b 46 08             	mov    0x8(%esi),%eax
6e901f:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
6e9023:	75 03                	jne    0x6e9028
6e9025:	89 50 04             	mov    %edx,0x4(%eax)
6e9028:	8b 42 04             	mov    0x4(%edx),%eax
6e902b:	89 46 04             	mov    %eax,0x4(%esi)
6e902e:	8b 01                	mov    (%ecx),%eax
6e9030:	3b 50 04             	cmp    0x4(%eax),%edx
6e9033:	75 0d                	jne    0x6e9042
6e9035:	89 70 04             	mov    %esi,0x4(%eax)
6e9038:	89 56 08             	mov    %edx,0x8(%esi)
6e903b:	89 72 04             	mov    %esi,0x4(%edx)
6e903e:	5e                   	pop    %esi
6e903f:	c2 04 00             	ret    $0x4
6e9042:	8b 42 04             	mov    0x4(%edx),%eax
6e9045:	3b 50 08             	cmp    0x8(%eax),%edx
6e9048:	75 0d                	jne    0x6e9057
6e904a:	89 70 08             	mov    %esi,0x8(%eax)
6e904d:	89 56 08             	mov    %edx,0x8(%esi)
6e9050:	89 72 04             	mov    %esi,0x4(%edx)
6e9053:	5e                   	pop    %esi
6e9054:	c2 04 00             	ret    $0x4
6e9057:	89 30                	mov    %esi,(%eax)
6e9059:	89 56 08             	mov    %edx,0x8(%esi)
6e905c:	89 72 04             	mov    %esi,0x4(%edx)
6e905f:	5e                   	pop    %esi
6e9060:	c2 04 00             	ret    $0x4
6e9063:	cc                   	int3
6e9064:	cc                   	int3
6e9065:	cc                   	int3
6e9066:	cc                   	int3
6e9067:	cc                   	int3
6e9068:	cc                   	int3
6e9069:	cc                   	int3
6e906a:	cc                   	int3
6e906b:	cc                   	int3
6e906c:	cc                   	int3
6e906d:	cc                   	int3
6e906e:	cc                   	int3
6e906f:	cc                   	int3
6e9070:	cc                   	int3
6e9071:	cc                   	int3
6e9072:	cc                   	int3
6e9073:	cc                   	int3