587a74:	8b 41 0c             	mov    0xc(%ecx),%eax
587a77:	3b cd                	cmp    %ebp,%ecx
587a79:	8b fa                	mov    %edx,%edi
587a7b:	0f 44 ea             	cmove  %edx,%ebp
587a7e:	85 c0                	test   %eax,%eax
587a80:	74 05                	je     0x587a87
587a82:	89 50 10             	mov    %edx,0x10(%eax)
587a85:	8b 3b                	mov    (%ebx),%edi
587a87:	85 ff                	test   %edi,%edi
587a89:	74 06                	je     0x587a91
587a8b:	8b 41 0c             	mov    0xc(%ecx),%eax
587a8e:	89 47 0c             	mov    %eax,0xc(%edi)
587a91:	8b 7c 24 14          	mov    0x14(%esp),%edi
587a95:	89 4e 10             	mov    %ecx,0x10(%esi)
587a98:	89 71 0c             	mov    %esi,0xc(%ecx)
587a9b:	8b f1                	mov    %ecx,%esi
587a9d:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
587aa3:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
587aaa:	3b cf                	cmp    %edi,%ecx
587aac:	75 a9                	jne    0x587a57
587aae:	89 6c 24 10          	mov    %ebp,0x10(%esp)
587ab2:	8b d6                	mov    %esi,%edx
587ab4:	8b dd                	mov    %ebp,%ebx
587ab6:	85 ed                	test   %ebp,%ebp
587ab8:	74 61                	je     0x587b1b
587aba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
587ac0:	8b ce                	mov    %esi,%ecx
587ac2:	85 f6                	test   %esi,%esi
587ac4:	74 55                	je     0x587b1b
587ac6:	8b 01                	mov    (%ecx),%eax
587ac8:	8d 6e 0c             	lea    0xc(%esi),%ebp
587acb:	8b 75 00             	mov    0x0(%ebp),%esi
587ace:	f7 40 18 00 30 00 00 	testl  $0x3000,0x18(%eax)
587ad5:	74 3e                	je     0x587b15
587ad7:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587adb:	75 38                	jne    0x587b15
587add:	3b cb                	cmp    %ebx,%ecx
587adf:	74 2d                	je     0x587b0e
587ae1:	8b 41 10             	mov    0x10(%ecx),%eax
587ae4:	3b ca                	cmp    %edx,%ecx
587ae6:	8b fe                	mov    %esi,%edi
587ae8:	0f 44 d6             	cmove  %esi,%edx
587aeb:	85 c0                	test   %eax,%eax
587aed:	74 06                	je     0x587af5
587aef:	89 70 0c             	mov    %esi,0xc(%eax)
587af2:	8b 7d 00             	mov    0x0(%ebp),%edi
587af5:	85 ff                	test   %edi,%edi
587af7:	74 06                	je     0x587aff
587af9:	8b 41 10             	mov    0x10(%ecx),%eax
587afc:	89 47 10             	mov    %eax,0x10(%edi)
587aff:	89 4b 0c             	mov    %ecx,0xc(%ebx)
587b02:	89 59 10             	mov    %ebx,0x10(%ecx)
587b05:	8b d9                	mov    %ecx,%ebx
587b07:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
587b0e:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
587b15:	3b 4c 24 10          	cmp    0x10(%esp),%ecx
587b19:	75 a5                	jne    0x587ac0
587b1b:	8b f2                	mov    %edx,%esi
587b1d:	8b eb                	mov    %ebx,%ebp
587b1f:	85 db                	test   %ebx,%ebx
587b21:	74 62                	je     0x587b85
587b23:	8b ca                	mov    %edx,%ecx
587b25:	85 d2                	test   %edx,%edx
587b27:	74 5c                	je     0x587b85
587b29:	8d 42 0c             	lea    0xc(%edx),%eax
587b2c:	8b 10                	mov    (%eax),%edx
587b2e:	89 44 24 14          	mov    %eax,0x14(%esp)
587b32:	8b 01                	mov    (%ecx),%eax
587b34:	f7 40 18 00 00 08 00 	testl  $0x80000,0x18(%eax)
587b3b:	74 44                	je     0x587b81
587b3d:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587b41:	75 3e                	jne    0x587b81
587b43:	3b cd                	cmp    %ebp,%ecx
587b45:	74 33                	je     0x587b7a
587b47:	8b 41 10             	mov    0x10(%ecx),%eax
587b4a:	3b ce                	cmp    %esi,%ecx
587b4c:	8b fa                	mov    %edx,%edi
587b4e:	0f 44 f2             	cmove  %edx,%esi
587b51:	85 c0                	test   %eax,%eax
587b53:	74 09                	je     0x587b5e
587b55:	8b 7c 24 14          	mov    0x14(%esp),%edi
587b59:	89 50 0c             	mov    %edx,0xc(%eax)
587b5c:	8b 3f                	mov    (%edi),%edi
587b5e:	85 ff                	test   %edi,%edi
587b60:	74 06                	je     0x587b68
587b62:	8b 41 10             	mov    0x10(%ecx),%eax
587b65:	89 47 10             	mov    %eax,0x10(%edi)
587b68:	8b 44 24 14          	mov    0x14(%esp),%eax
587b6c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
587b6f:	89 69 10             	mov    %ebp,0x10(%ecx)
587b72:	8b e9                	mov    %ecx,%ebp
587b74:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587b7a:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
587b81:	3b cb                	cmp    %ebx,%ecx
587b83:	75 9e                	jne    0x587b23
587b85:	8b d6                	mov    %esi,%edx
587b87:	8b dd                	mov    %ebp,%ebx
587b89:	85 ed                	test   %ebp,%ebp
587b8b:	74 65                	je     0x587bf2
587b8d:	0f 1f 00             	nopl   (%eax)
587b90:	8b ce                	mov    %esi,%ecx
587b92:	85 f6                	test   %esi,%esi
587b94:	74 5c                	je     0x587bf2
587b96:	8d 46 0c             	lea    0xc(%esi),%eax
587b99:	8b 30                	mov    (%eax),%esi
587b9b:	89 44 24 14          	mov    %eax,0x14(%esp)
587b9f:	8b 01                	mov    (%ecx),%eax
587ba1:	f7 40 18 c0 c0 03 00 	testl  $0x3c0c0,0x18(%eax)
587ba8:	74 44                	je     0x587bee
587baa:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587bae:	75 3e                	jne    0x587bee
587bb0:	3b cb                	cmp    %ebx,%ecx
587bb2:	74 33                	je     0x587be7
587bb4:	8b 41 10             	mov    0x10(%ecx),%eax
587bb7:	3b ca                	cmp    %edx,%ecx
587bb9:	8b fe                	mov    %esi,%edi
587bbb:	0f 44 d6             	cmove  %esi,%edx
587bbe:	85 c0                	test   %eax,%eax
587bc0:	74 09                	je     0x587bcb
587bc2:	8b 7c 24 14          	mov    0x14(%esp),%edi
587bc6:	89 70 0c             	mov    %esi,0xc(%eax)
587bc9:	8b 3f                	mov    (%edi),%edi
587bcb:	85 ff                	test   %edi,%edi
587bcd:	74 06                	je     0x587bd5
587bcf:	8b 41 10             	mov    0x10(%ecx),%eax
587bd2:	89 47 10             	mov    %eax,0x10(%edi)
587bd5:	8b 44 24 14          	mov    0x14(%esp),%eax
587bd9:	89 4b 0c             	mov    %ecx,0xc(%ebx)
587bdc:	89 59 10             	mov    %ebx,0x10(%ecx)
587bdf:	8b d9                	mov    %ecx,%ebx
587be1:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587be7:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
587bee:	3b cd                	cmp    %ebp,%ecx
587bf0:	75 9e                	jne    0x587b90
587bf2:	8b f2                	mov    %edx,%esi
587bf4:	8b eb                	mov    %ebx,%ebp
587bf6:	85 db                	test   %ebx,%ebx
587bf8:	74 64                	je     0x587c5e
587bfa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
587c00:	8b ca                	mov    %edx,%ecx
587c02:	85 d2                	test   %edx,%edx
587c04:	74 58                	je     0x587c5e
587c06:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587c0a:	8d 42 0c             	lea    0xc(%edx),%eax
587c0d:	8b 10                	mov    (%eax),%edx
587c0f:	89 44 24 10          	mov    %eax,0x10(%esp)
587c13:	75 45                	jne    0x587c5a
587c15:	3b cd                	cmp    %ebp,%ecx
587c17:	74 3a                	je     0x587c53
587c19:	8b 79 10             	mov    0x10(%ecx),%edi
587c1c:	3b ce                	cmp    %esi,%ecx
587c1e:	89 7c 24 14          	mov    %edi,0x14(%esp)
587c22:	8b fa                	mov    %edx,%edi
587c24:	0f 44 f2             	cmove  %edx,%esi
587c27:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
587c2c:	74 09                	je     0x587c37
587c2e:	8b 7c 24 14          	mov    0x14(%esp),%edi
587c32:	89 57 0c             	mov    %edx,0xc(%edi)
587c35:	8b 38                	mov    (%eax),%edi
587c37:	85 ff                	test   %edi,%edi
587c39:	74 0a                	je     0x587c45
587c3b:	8b 41 10             	mov    0x10(%ecx),%eax
587c3e:	89 47 10             	mov    %eax,0x10(%edi)
587c41:	8b 44 24 10          	mov    0x10(%esp),%eax
587c45:	89 4d 0c             	mov    %ecx,0xc(%ebp)
587c48:	89 69 10             	mov    %ebp,0x10(%ecx)
587c4b:	8b e9                	mov    %ecx,%ebp
587c4d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587c53:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
587c5a:	3b cb                	cmp    %ebx,%ecx
587c5c:	75 a2                	jne    0x587c00
587c5e:	8b d6                	mov    %esi,%edx
587c60:	8b dd                	mov    %ebp,%ebx
587c62:	85 ed                	test   %ebp,%ebp
587c64:	74 58                	je     0x587cbe
587c66:	8b ce                	mov    %esi,%ecx
587c68:	85 f6                	test   %esi,%esi
587c6a:	74 52                	je     0x587cbe
587c6c:	8d 46 0c             	lea    0xc(%esi),%eax
587c6f:	8b 30                	mov    (%eax),%esi
587c71:	89 44 24 14          	mov    %eax,0x14(%esp)
587c75:	8b 01                	mov    (%ecx),%eax
587c77:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
587c7b:	74 3d                	je     0x587cba
587c7d:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587c81:	74 37                	je     0x587cba
587c83:	3b cb                	cmp    %ebx,%ecx
587c85:	74 33                	je     0x587cba
587c87:	8b 41 10             	mov    0x10(%ecx),%eax
587c8a:	3b ca                	cmp    %edx,%ecx
587c8c:	8b fe                	mov    %esi,%edi
587c8e:	0f 44 d6             	cmove  %esi,%edx
587c91:	85 c0                	test   %eax,%eax
587c93:	74 09                	je     0x587c9e
587c95:	8b 7c 24 14          	mov    0x14(%esp),%edi
587c99:	89 70 0c             	mov    %esi,0xc(%eax)
587c9c:	8b 3f                	mov    (%edi),%edi
587c9e:	85 ff                	test   %edi,%edi
587ca0:	74 06                	je     0x587ca8
587ca2:	8b 41 10             	mov    0x10(%ecx),%eax
587ca5:	89 47 10             	mov    %eax,0x10(%edi)
587ca8:	8b 44 24 14          	mov    0x14(%esp),%eax
587cac:	89 4b 0c             	mov    %ecx,0xc(%ebx)
587caf:	89 59 10             	mov    %ebx,0x10(%ecx)
587cb2:	8b d9                	mov    %ecx,%ebx
587cb4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587cba:	3b cd                	cmp    %ebp,%ecx
587cbc:	75 a8                	jne    0x587c66
587cbe:	8b f2                	mov    %edx,%esi
587cc0:	8b eb                	mov    %ebx,%ebp
587cc2:	85 db                	test   %ebx,%ebx
587cc4:	74 58                	je     0x587d1e
587cc6:	8b ca                	mov    %edx,%ecx
587cc8:	85 d2                	test   %edx,%edx
587cca:	74 52                	je     0x587d1e
587ccc:	8d 42 0c             	lea    0xc(%edx),%eax
587ccf:	8b 10                	mov    (%eax),%edx
587cd1:	89 44 24 14          	mov    %eax,0x14(%esp)
587cd5:	8b 01                	mov    (%ecx),%eax
587cd7:	f6 40 14 04          	testb  $0x4,0x14(%eax)
587cdb:	74 3d                	je     0x587d1a
587cdd:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587ce1:	74 37                	je     0x587d1a
587ce3:	3b cd                	cmp    %ebp,%ecx
587ce5:	74 33                	je     0x587d1a
587ce7:	8b 41 10             	mov    0x10(%ecx),%eax
587cea:	3b ce                	cmp    %esi,%ecx
587cec:	8b fa                	mov    %edx,%edi
587cee:	0f 44 f2             	cmove  %edx,%esi
587cf1:	85 c0                	test   %eax,%eax
587cf3:	74 09                	je     0x587cfe
587cf5:	8b 7c 24 14          	mov    0x14(%esp),%edi
587cf9:	89 50 0c             	mov    %edx,0xc(%eax)
587cfc:	8b 3f                	mov    (%edi),%edi
587cfe:	85 ff                	test   %edi,%edi
587d00:	74 06                	je     0x587d08
587d02:	8b 41 10             	mov    0x10(%ecx),%eax
587d05:	89 47 10             	mov    %eax,0x10(%edi)
587d08:	8b 44 24 14          	mov    0x14(%esp),%eax
587d0c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
587d0f:	89 69 10             	mov    %ebp,0x10(%ecx)
587d12:	8b e9                	mov    %ecx,%ebp
587d14:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587d1a:	3b cb                	cmp    %ebx,%ecx
587d1c:	75 a8                	jne    0x587cc6
587d1e:	8b d6                	mov    %esi,%edx
587d20:	8b dd                	mov    %ebp,%ebx
587d22:	85 ed                	test   %ebp,%ebp
587d24:	74 58                	je     0x587d7e
587d26:	8b ce                	mov    %esi,%ecx
587d28:	85 f6                	test   %esi,%esi
587d2a:	74 52                	je     0x587d7e
587d2c:	8d 46 0c             	lea    0xc(%esi),%eax
587d2f:	8b 30                	mov    (%eax),%esi
587d31:	89 44 24 14          	mov    %eax,0x14(%esp)
587d35:	8b 01                	mov    (%ecx),%eax
587d37:	f6 40 10 01          	testb  $0x1,0x10(%eax)
587d3b:	74 3d                	je     0x587d7a
587d3d:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587d41:	74 37                	je     0x587d7a
587d43:	3b cb                	cmp    %ebx,%ecx
587d45:	74 33                	je     0x587d7a
587d47:	8b 41 10             	mov    0x10(%ecx),%eax
587d4a:	3b ca                	cmp    %edx,%ecx
587d4c:	8b fe                	mov    %esi,%edi
587d4e:	0f 44 d6             	cmove  %esi,%edx
587d51:	85 c0                	test   %eax,%eax
587d53:	74 09                	je     0x587d5e
587d55:	8b 7c 24 14          	mov    0x14(%esp),%edi
587d59:	89 70 0c             	mov    %esi,0xc(%eax)
587d5c:	8b 3f                	mov    (%edi),%edi
587d5e:	85 ff                	test   %edi,%edi
587d60:	74 06                	je     0x587d68
587d62:	8b 41 10             	mov    0x10(%ecx),%eax
587d65:	89 47 10             	mov    %eax,0x10(%edi)
587d68:	8b 44 24 14          	mov    0x14(%esp),%eax
587d6c:	89 4b 0c             	mov    %ecx,0xc(%ebx)
587d6f:	89 59 10             	mov    %ebx,0x10(%ecx)
587d72:	8b d9                	mov    %ecx,%ebx
587d74:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587d7a:	3b cd                	cmp    %ebp,%ecx
587d7c:	75 a8                	jne    0x587d26
587d7e:	8b f2                	mov    %edx,%esi
587d80:	8b eb                	mov    %ebx,%ebp
587d82:	85 db                	test   %ebx,%ebx
587d84:	74 58                	je     0x587dde
587d86:	8b ca                	mov    %edx,%ecx
587d88:	85 d2                	test   %edx,%edx
587d8a:	74 52                	je     0x587dde
587d8c:	8d 42 0c             	lea    0xc(%edx),%eax
587d8f:	8b 10                	mov    (%eax),%edx
587d91:	89 44 24 14          	mov    %eax,0x14(%esp)
587d95:	8b 01                	mov    (%ecx),%eax
587d97:	f6 40 10 08          	testb  $0x8,0x10(%eax)
587d9b:	74 3d                	je     0x587dda
587d9d:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587da1:	74 37                	je     0x587dda
587da3:	3b cd                	cmp    %ebp,%ecx
587da5:	74 33                	je     0x587dda
587da7:	8b 41 10             	mov    0x10(%ecx),%eax
587daa:	3b ce                	cmp    %esi,%ecx
587dac:	8b fa                	mov    %edx,%edi
587dae:	0f 44 f2             	cmove  %edx,%esi
587db1:	85 c0                	test   %eax,%eax
587db3:	74 09                	je     0x587dbe
587db5:	8b 7c 24 14          	mov    0x14(%esp),%edi
587db9:	89 50 0c             	mov    %edx,0xc(%eax)
587dbc:	8b 3f                	mov    (%edi),%edi
587dbe:	85 ff                	test   %edi,%edi
587dc0:	74 06                	je     0x587dc8
587dc2:	8b 41 10             	mov    0x10(%ecx),%eax
587dc5:	89 47 10             	mov    %eax,0x10(%edi)
587dc8:	8b 44 24 14          	mov    0x14(%esp),%eax
587dcc:	89 4d 0c             	mov    %ecx,0xc(%ebp)
587dcf:	89 69 10             	mov    %ebp,0x10(%ecx)
587dd2:	8b e9                	mov    %ecx,%ebp
587dd4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587dda:	3b cb                	cmp    %ebx,%ecx
587ddc:	75 a8                	jne    0x587d86
587dde:	8b d6                	mov    %esi,%edx
587de0:	8b fd                	mov    %ebp,%edi
587de2:	85 ed                	test   %ebp,%ebp
587de4:	74 54                	je     0x587e3a
587de6:	8b ce                	mov    %esi,%ecx
587de8:	85 f6                	test   %esi,%esi
587dea:	74 4e                	je     0x587e3a
587dec:	8b 01                	mov    (%ecx),%eax
587dee:	8d 5e 0c             	lea    0xc(%esi),%ebx
587df1:	8b 33                	mov    (%ebx),%esi
587df3:	f6 40 18 04          	testb  $0x4,0x18(%eax)
587df7:	74 3d                	je     0x587e36
587df9:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587dfd:	74 37                	je     0x587e36
587dff:	3b cf                	cmp    %edi,%ecx
587e01:	74 33                	je     0x587e36
587e03:	8b 41 10             	mov    0x10(%ecx),%eax
587e06:	3b ca                	cmp    %edx,%ecx
587e08:	0f 44 d6             	cmove  %esi,%edx
587e0b:	89 54 24 14          	mov    %edx,0x14(%esp)
587e0f:	8b d6                	mov    %esi,%edx
587e11:	85 c0                	test   %eax,%eax
587e13:	74 05                	je     0x587e1a
587e15:	89 70 0c             	mov    %esi,0xc(%eax)
587e18:	8b 13                	mov    (%ebx),%edx
587e1a:	85 d2                	test   %edx,%edx
587e1c:	74 06                	je     0x587e24
587e1e:	8b 41 10             	mov    0x10(%ecx),%eax
587e21:	89 42 10             	mov    %eax,0x10(%edx)
587e24:	8b 54 24 14          	mov    0x14(%esp),%edx
587e28:	89 4f 0c             	mov    %ecx,0xc(%edi)