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)
587e2b:	89 79 10             	mov    %edi,0x10(%ecx)
587e2e:	8b f9                	mov    %ecx,%edi
587e30:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
587e36:	3b cd                	cmp    %ebp,%ecx
587e38:	75 ac                	jne    0x587de6
587e3a:	8d 44 24 14          	lea    0x14(%esp),%eax
587e3e:	89 54 24 10          	mov    %edx,0x10(%esp)
587e42:	50                   	push   %eax
587e43:	8d 44 24 14          	lea    0x14(%esp),%eax
587e47:	89 7c 24 18          	mov    %edi,0x18(%esp)
587e4b:	50                   	push   %eax
587e4c:	e8 df f7 ff ff       	call   0x587630
587e51:	83 c4 08             	add    $0x8,%esp
587e54:	85 c0                	test   %eax,%eax
587e56:	75 0a                	jne    0x587e62
587e58:	68 e9 05 00 00       	push   $0x5e9
587e5d:	e9 77 03 00 00       	jmp    0x5881d9
587e62:	8b 6c 24 10          	mov    0x10(%esp),%ebp
587e66:	8b 54 24 14          	mov    0x14(%esp),%edx
587e6a:	85 ed                	test   %ebp,%ebp
587e6c:	74 53                	je     0x587ec1
587e6e:	8b f2                	mov    %edx,%esi
587e70:	8b ce                	mov    %esi,%ecx
587e72:	85 f6                	test   %esi,%esi
587e74:	74 4b                	je     0x587ec1
587e76:	8b 01                	mov    (%ecx),%eax
587e78:	8d 5e 10             	lea    0x10(%esi),%ebx
587e7b:	8b 33                	mov    (%ebx),%esi
587e7d:	81 78 20 03 03 00 00 	cmpl   $0x303,0x20(%eax)
587e84:	75 35                	jne    0x587ebb
587e86:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587e8a:	74 2f                	je     0x587ebb
587e8c:	3b cd                	cmp    %ebp,%ecx
587e8e:	74 2b                	je     0x587ebb
587e90:	8b 41 0c             	mov    0xc(%ecx),%eax
587e93:	3b ca                	cmp    %edx,%ecx
587e95:	8b fe                	mov    %esi,%edi
587e97:	0f 44 d6             	cmove  %esi,%edx
587e9a:	85 c0                	test   %eax,%eax
587e9c:	74 05                	je     0x587ea3
587e9e:	89 70 10             	mov    %esi,0x10(%eax)
587ea1:	8b 3b                	mov    (%ebx),%edi
587ea3:	85 ff                	test   %edi,%edi
587ea5:	74 06                	je     0x587ead
587ea7:	8b 41 0c             	mov    0xc(%ecx),%eax
587eaa:	89 47 0c             	mov    %eax,0xc(%edi)
587ead:	89 4d 10             	mov    %ecx,0x10(%ebp)
587eb0:	89 69 0c             	mov    %ebp,0xc(%ecx)
587eb3:	8b e9                	mov    %ecx,%ebp
587eb5:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
587ebb:	3b 4c 24 10          	cmp    0x10(%esp),%ecx
587ebf:	75 af                	jne    0x587e70
587ec1:	8b dd                	mov    %ebp,%ebx
587ec3:	8b f2                	mov    %edx,%esi
587ec5:	85 ed                	test   %ebp,%ebp
587ec7:	74 5f                	je     0x587f28
587ec9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
587ed0:	8b ca                	mov    %edx,%ecx
587ed2:	85 d2                	test   %edx,%edx
587ed4:	74 52                	je     0x587f28
587ed6:	8d 42 10             	lea    0x10(%edx),%eax
587ed9:	8b 10                	mov    (%eax),%edx
587edb:	89 44 24 14          	mov    %eax,0x14(%esp)
587edf:	8b 01                	mov    (%ecx),%eax
587ee1:	f6 40 1c 40          	testb  $0x40,0x1c(%eax)
587ee5:	74 3d                	je     0x587f24
587ee7:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587eeb:	74 37                	je     0x587f24
587eed:	3b cb                	cmp    %ebx,%ecx
587eef:	74 33                	je     0x587f24
587ef1:	8b 41 0c             	mov    0xc(%ecx),%eax
587ef4:	3b ce                	cmp    %esi,%ecx
587ef6:	8b fa                	mov    %edx,%edi
587ef8:	0f 44 f2             	cmove  %edx,%esi
587efb:	85 c0                	test   %eax,%eax
587efd:	74 09                	je     0x587f08
587eff:	8b 7c 24 14          	mov    0x14(%esp),%edi
587f03:	89 50 10             	mov    %edx,0x10(%eax)
587f06:	8b 3f                	mov    (%edi),%edi
587f08:	85 ff                	test   %edi,%edi
587f0a:	74 06                	je     0x587f12
587f0c:	8b 41 0c             	mov    0xc(%ecx),%eax
587f0f:	89 47 0c             	mov    %eax,0xc(%edi)
587f12:	8b 44 24 14          	mov    0x14(%esp),%eax
587f16:	89 4b 10             	mov    %ecx,0x10(%ebx)
587f19:	89 59 0c             	mov    %ebx,0xc(%ecx)
587f1c:	8b d9                	mov    %ecx,%ebx
587f1e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587f24:	3b cd                	cmp    %ebp,%ecx
587f26:	75 a8                	jne    0x587ed0
587f28:	8b eb                	mov    %ebx,%ebp
587f2a:	8b d6                	mov    %esi,%edx
587f2c:	85 db                	test   %ebx,%ebx
587f2e:	74 58                	je     0x587f88
587f30:	8b ce                	mov    %esi,%ecx
587f32:	85 f6                	test   %esi,%esi
587f34:	74 52                	je     0x587f88
587f36:	8d 46 10             	lea    0x10(%esi),%eax
587f39:	8b 30                	mov    (%eax),%esi
587f3b:	89 44 24 14          	mov    %eax,0x14(%esp)
587f3f:	8b 01                	mov    (%ecx),%eax
587f41:	f6 40 10 06          	testb  $0x6,0x10(%eax)
587f45:	74 3d                	je     0x587f84
587f47:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587f4b:	74 37                	je     0x587f84
587f4d:	3b cd                	cmp    %ebp,%ecx
587f4f:	74 33                	je     0x587f84
587f51:	8b 41 0c             	mov    0xc(%ecx),%eax
587f54:	3b ca                	cmp    %edx,%ecx
587f56:	8b fe                	mov    %esi,%edi
587f58:	0f 44 d6             	cmove  %esi,%edx
587f5b:	85 c0                	test   %eax,%eax
587f5d:	74 09                	je     0x587f68
587f5f:	8b 7c 24 14          	mov    0x14(%esp),%edi
587f63:	89 70 10             	mov    %esi,0x10(%eax)
587f66:	8b 3f                	mov    (%edi),%edi
587f68:	85 ff                	test   %edi,%edi
587f6a:	74 06                	je     0x587f72
587f6c:	8b 41 0c             	mov    0xc(%ecx),%eax
587f6f:	89 47 0c             	mov    %eax,0xc(%edi)
587f72:	8b 44 24 14          	mov    0x14(%esp),%eax
587f76:	89 4d 10             	mov    %ecx,0x10(%ebp)
587f79:	89 69 0c             	mov    %ebp,0xc(%ecx)
587f7c:	8b e9                	mov    %ecx,%ebp
587f7e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587f84:	3b cb                	cmp    %ebx,%ecx
587f86:	75 a8                	jne    0x587f30
587f88:	8b dd                	mov    %ebp,%ebx
587f8a:	8b fa                	mov    %edx,%edi
587f8c:	85 ed                	test   %ebp,%ebp
587f8e:	74 5e                	je     0x587fee
587f90:	8b ca                	mov    %edx,%ecx
587f92:	85 d2                	test   %edx,%edx
587f94:	74 58                	je     0x587fee
587f96:	8d 42 10             	lea    0x10(%edx),%eax
587f99:	8b 10                	mov    (%eax),%edx
587f9b:	89 44 24 14          	mov    %eax,0x14(%esp)
587f9f:	8b 01                	mov    (%ecx),%eax
587fa1:	f6 40 10 06          	testb  $0x6,0x10(%eax)
587fa5:	74 43                	je     0x587fea
587fa7:	f6 40 1c 40          	testb  $0x40,0x1c(%eax)
587fab:	74 3d                	je     0x587fea
587fad:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
587fb1:	74 37                	je     0x587fea
587fb3:	3b cb                	cmp    %ebx,%ecx
587fb5:	74 33                	je     0x587fea
587fb7:	8b 41 0c             	mov    0xc(%ecx),%eax
587fba:	3b cf                	cmp    %edi,%ecx
587fbc:	8b f2                	mov    %edx,%esi
587fbe:	0f 44 fa             	cmove  %edx,%edi
587fc1:	85 c0                	test   %eax,%eax
587fc3:	74 09                	je     0x587fce
587fc5:	8b 74 24 14          	mov    0x14(%esp),%esi
587fc9:	89 50 10             	mov    %edx,0x10(%eax)
587fcc:	8b 36                	mov    (%esi),%esi
587fce:	85 f6                	test   %esi,%esi
587fd0:	74 06                	je     0x587fd8
587fd2:	8b 41 0c             	mov    0xc(%ecx),%eax
587fd5:	89 46 0c             	mov    %eax,0xc(%esi)
587fd8:	8b 44 24 14          	mov    0x14(%esp),%eax
587fdc:	89 4b 10             	mov    %ecx,0x10(%ebx)
587fdf:	89 59 0c             	mov    %ebx,0xc(%ecx)
587fe2:	8b d9                	mov    %ecx,%ebx
587fe4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
587fea:	3b cd                	cmp    %ebp,%ecx
587fec:	75 a2                	jne    0x587f90
587fee:	8b f3                	mov    %ebx,%esi
587ff0:	8b c7                	mov    %edi,%eax
587ff2:	85 db                	test   %ebx,%ebx
587ff4:	74 56                	je     0x58804c
587ff6:	8b cf                	mov    %edi,%ecx
587ff8:	85 ff                	test   %edi,%edi
587ffa:	74 50                	je     0x58804c
587ffc:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
588000:	8d 6f 10             	lea    0x10(%edi),%ebp