589bc0:	8b 41 08             	mov    0x8(%ecx),%eax
589bc3:	2b 01                	sub    (%ecx),%eax
589bc5:	c1 f8 03             	sar    $0x3,%eax
589bc8:	c3                   	ret
589bc9:	cc                   	int3
589bca:	cc                   	int3
589bcb:	cc                   	int3
589bcc:	cc                   	int3
589bcd:	cc                   	int3
589bce:	cc                   	int3
589bcf:	cc                   	int3
589bd0:	8b 49 04             	mov    0x4(%ecx),%ecx
589bd3:	85 c9                	test   %ecx,%ecx
589bd5:	74 10                	je     0x589be7
589bd7:	8b 41 04             	mov    0x4(%ecx),%eax
589bda:	83 c1 04             	add    $0x4,%ecx
589bdd:	8b 40 04             	mov    0x4(%eax),%eax
589be0:	03 c8                	add    %eax,%ecx
589be2:	8b 01                	mov    (%ecx),%eax
589be4:	ff 60 14             	jmp    *0x14(%eax)
589be7:	33 c0                	xor    %eax,%eax
589be9:	c2 04 00             	ret    $0x4
589bec:	cc                   	int3
589bed:	cc                   	int3
589bee:	cc                   	int3
589bef:	cc                   	int3
589bf0:	cc                   	int3
589bf1:	cc                   	int3
589bf2:	cc                   	int3
589bf3:	2b 49 fc             	sub    -0x4(%ecx),%ecx
589bf6:	e9 18 f5 e9 ff       	jmp    0x429113
589bfb:	cc                   	int3
589bfc:	cc                   	int3
589bfd:	cc                   	int3
589bfe:	cc                   	int3
589bff:	cc                   	int3
589c00:	56                   	push   %esi
589c01:	57                   	push   %edi
589c02:	8b f1                	mov    %ecx,%esi
589c04:	e8 b9 b8 ea ff       	call   0x4354c2
589c09:	8b 7c 24 0c          	mov    0xc(%esp),%edi
589c0d:	3b f8                	cmp    %eax,%edi
589c0f:	75 1c                	jne    0x589c2d
589c11:	8d 46 b8             	lea    -0x48(%esi),%eax
589c14:	85 c0                	test   %eax,%eax
589c16:	75 05                	jne    0x589c1d
589c18:	5f                   	pop    %edi
589c19:	5e                   	pop    %esi
589c1a:	c2 04 00             	ret    $0x4
589c1d:	8b 46 bc             	mov    -0x44(%esi),%eax
589c20:	5f                   	pop    %edi
589c21:	8b 40 04             	mov    0x4(%eax),%eax
589c24:	83 c0 bc             	add    $0xffffffbc,%eax
589c27:	03 c6                	add    %esi,%eax
589c29:	5e                   	pop    %esi
589c2a:	c2 04 00             	ret    $0x4
589c2d:	e8 7b c8 ea ff       	call   0x4364ad
589c32:	3b f8                	cmp    %eax,%edi
589c34:	75 08                	jne    0x589c3e
589c36:	5f                   	pop    %edi
589c37:	8d 46 b8             	lea    -0x48(%esi),%eax
589c3a:	5e                   	pop    %esi
589c3b:	c2 04 00             	ret    $0x4
589c3e:	57                   	push   %edi
589c3f:	8d 4e f4             	lea    -0xc(%esi),%ecx
589c42:	e8 67 b3 ea ff       	call   0x434fae
589c47:	5f                   	pop    %edi
589c48:	5e                   	pop    %esi
589c49:	c2 04 00             	ret    $0x4
589c4c:	cc                   	int3
589c4d:	cc                   	int3
589c4e:	cc                   	int3
589c4f:	cc                   	int3
589c50:	cc                   	int3
589c51:	cc                   	int3
589c52:	cc                   	int3
589c53:	cc                   	int3
589c54:	cc                   	int3
589c55:	cc                   	int3
589c56:	cc                   	int3
589c57:	cc                   	int3
589c58:	cc                   	int3
589c59:	cc                   	int3
589c5a:	cc                   	int3
589c5b:	cc                   	int3
589c5c:	cc                   	int3
589c5d:	cc                   	int3
589c5e:	cc                   	int3
589c5f:	cc                   	int3
589c60:	8b d1                	mov    %ecx,%edx
589c62:	53                   	push   %ebx
589c63:	8b 5c 24 08          	mov    0x8(%esp),%ebx
589c67:	56                   	push   %esi
589c68:	8b 72 10             	mov    0x10(%edx),%esi
589c6b:	3b f3                	cmp    %ebx,%esi
589c6d:	72 4d                	jb     0x589cbc
589c6f:	57                   	push   %edi
589c70:	8b 7c 24 18          	mov    0x18(%esp),%edi
589c74:	66 83 3f 00          	cmpw   $0x0,(%edi)
589c78:	75 04                	jne    0x589c7e
589c7a:	33 c9                	xor    %ecx,%ecx
589c7c:	eb 16                	jmp    0x589c94
589c7e:	8b cf                	mov    %edi,%ecx
589c80:	55                   	push   %ebp
589c81:	8d 69 02             	lea    0x2(%ecx),%ebp
589c84:	66 8b 01             	mov    (%ecx),%ax
589c87:	83 c1 02             	add    $0x2,%ecx
589c8a:	66 85 c0             	test   %ax,%ax
589c8d:	75 f5                	jne    0x589c84
589c8f:	2b cd                	sub    %ebp,%ecx
589c91:	d1 f9                	sar    $1,%ecx
589c93:	5d                   	pop    %ebp
589c94:	2b f3                	sub    %ebx,%esi
589c96:	39 74 24 14          	cmp    %esi,0x14(%esp)
589c9a:	0f 46 74 24 14       	cmovbe 0x14(%esp),%esi
589c9f:	83 7a 14 08          	cmpl   $0x8,0x14(%edx)
589ca3:	72 02                	jb     0x589ca7
589ca5:	8b 12                	mov    (%edx),%edx
589ca7:	51                   	push   %ecx
589ca8:	57                   	push   %edi
589ca9:	8d 04 5a             	lea    (%edx,%ebx,2),%eax
589cac:	56                   	push   %esi
589cad:	50                   	push   %eax
589cae:	e8 a6 03 ea ff       	call   0x42a059
589cb3:	83 c4 10             	add    $0x10,%esp
589cb6:	5f                   	pop    %edi
589cb7:	5e                   	pop    %esi
589cb8:	5b                   	pop    %ebx
589cb9:	c2 0c 00             	ret    $0xc
589cbc:	68 44 17 bd 00       	push   $0xbd1744
589cc1:	e8 d6 0b ea ff       	call   0x42a89c
589cc6:	cc                   	int3
589cc7:	cc                   	int3
589cc8:	cc                   	int3
589cc9:	cc                   	int3
589cca:	cc                   	int3
589ccb:	cc                   	int3
589ccc:	cc                   	int3
589ccd:	cc                   	int3
589cce:	cc                   	int3
589ccf:	cc                   	int3
589cd0:	cc                   	int3
589cd1:	cc                   	int3
589cd2:	cc                   	int3
589cd3:	cc                   	int3
589cd4:	cc                   	int3
589cd5:	cc                   	int3
589cd6:	cc                   	int3
589cd7:	cc                   	int3
589cd8:	cc                   	int3
589cd9:	cc                   	int3
589cda:	cc                   	int3
589cdb:	cc                   	int3
589cdc:	cc                   	int3
589cdd:	cc                   	int3
589cde:	cc                   	int3
589cdf:	cc                   	int3
589ce0:	8b 44 24 08          	mov    0x8(%esp),%eax
589ce4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
589ce8:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
589ced:	77 2e                	ja     0x589d1d
589cef:	c1 e0 03             	shl    $0x3,%eax
589cf2:	3d 00 10 00 00       	cmp    $0x1000,%eax
589cf7:	72 1a                	jb     0x589d13
589cf9:	f6 c1 1f             	test   $0x1f,%cl
589cfc:	75 24                	jne    0x589d22
589cfe:	8b 41 fc             	mov    -0x4(%ecx),%eax
589d01:	3b c1                	cmp    %ecx,%eax
589d03:	73 22                	jae    0x589d27
589d05:	2b c8                	sub    %eax,%ecx
589d07:	83 f9 04             	cmp    $0x4,%ecx
589d0a:	72 20                	jb     0x589d2c
589d0c:	83 f9 23             	cmp    $0x23,%ecx
589d0f:	77 20                	ja     0x589d31
589d11:	8b c8                	mov    %eax,%ecx
589d13:	51                   	push   %ecx
589d14:	e8 76 7a e7 ff       	call   0x40178f
589d19:	59                   	pop    %ecx
589d1a:	c2 08 00             	ret    $0x8
589d1d:	e8 6b 3c eb ff       	call   0x43d98d
589d22:	e8 66 3c eb ff       	call   0x43d98d
589d27:	e8 61 3c eb ff       	call   0x43d98d
589d2c:	e8 5c 3c eb ff       	call   0x43d98d
589d31:	e8 57 3c eb ff       	call   0x43d98d
589d36:	cc                   	int3
589d37:	cc                   	int3
589d38:	cc                   	int3
589d39:	cc                   	int3
589d3a:	cc                   	int3
589d3b:	cc                   	int3
589d3c:	cc                   	int3
589d3d:	cc                   	int3
589d3e:	cc                   	int3
589d3f:	cc                   	int3
589d40:	cc                   	int3
589d41:	cc                   	int3
589d42:	cc                   	int3
589d43:	cc                   	int3
589d44:	cc                   	int3
589d45:	cc                   	int3
589d46:	cc                   	int3
589d47:	cc                   	int3
589d48:	cc                   	int3
589d49:	cc                   	int3
589d4a:	cc                   	int3
589d4b:	cc                   	int3
589d4c:	cc                   	int3
589d4d:	cc                   	int3
589d4e:	cc                   	int3
589d4f:	cc                   	int3
589d50:	8b 44 24 08          	mov    0x8(%esp),%eax
589d54:	8b 4c 24 04          	mov    0x4(%esp),%ecx
589d58:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
589d5d:	77 2e                	ja     0x589d8d
589d5f:	c1 e0 03             	shl    $0x3,%eax
589d62:	3d 00 10 00 00       	cmp    $0x1000,%eax
589d67:	72 1a                	jb     0x589d83
589d69:	f6 c1 1f             	test   $0x1f,%cl
589d6c:	75 24                	jne    0x589d92
589d6e:	8b 41 fc             	mov    -0x4(%ecx),%eax
589d71:	3b c1                	cmp    %ecx,%eax
589d73:	73 22                	jae    0x589d97
589d75:	2b c8                	sub    %eax,%ecx
589d77:	83 f9 04             	cmp    $0x4,%ecx
589d7a:	72 20                	jb     0x589d9c
589d7c:	83 f9 23             	cmp    $0x23,%ecx
589d7f:	77 20                	ja     0x589da1
589d81:	8b c8                	mov    %eax,%ecx
589d83:	51                   	push   %ecx
589d84:	e8 06 7a e7 ff       	call   0x40178f
589d89:	59                   	pop    %ecx
589d8a:	c2 08 00             	ret    $0x8
589d8d:	e8 fb 3b eb ff       	call   0x43d98d
589d92:	e8 f6 3b eb ff       	call   0x43d98d
589d97:	e8 f1 3b eb ff       	call   0x43d98d
589d9c:	e8 ec 3b eb ff       	call   0x43d98d
589da1:	e8 e7 3b eb ff       	call   0x43d98d
589da6:	cc                   	int3
589da7:	cc                   	int3
589da8:	cc                   	int3
589da9:	cc                   	int3
589daa:	cc                   	int3
589dab:	cc                   	int3
589dac:	cc                   	int3
589dad:	cc                   	int3
589dae:	cc                   	int3
589daf:	cc                   	int3
589db0:	cc                   	int3
589db1:	cc                   	int3
589db2:	cc                   	int3
589db3:	cc                   	int3
589db4:	cc                   	int3
589db5:	cc                   	int3
589db6:	cc                   	int3
589db7:	cc                   	int3
589db8:	cc                   	int3
589db9:	cc                   	int3
589dba:	cc                   	int3
589dbb:	cc                   	int3
589dbc:	cc                   	int3
589dbd:	cc                   	int3
589dbe:	cc                   	int3
589dbf:	cc                   	int3
589dc0:	8b 44 24 04          	mov    0x4(%esp),%eax
589dc4:	8b 49 04             	mov    0x4(%ecx),%ecx
589dc7:	89 08                	mov    %ecx,(%eax)
589dc9:	c2 04 00             	ret    $0x4
589dcc:	cc                   	int3
589dcd:	cc                   	int3
589dce:	cc                   	int3
589dcf:	cc                   	int3
589dd0:	56                   	push   %esi
589dd1:	8b f1                	mov    %ecx,%esi
589dd3:	57                   	push   %edi
589dd4:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
589dd8:	72 02                	jb     0x589ddc
589dda:	8b 0e                	mov    (%esi),%ecx
589ddc:	8b 7c 24 10          	mov    0x10(%esp),%edi
589de0:	2b f9                	sub    %ecx,%edi
589de2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
589de6:	2b 4c 24 10          	sub    0x10(%esp),%ecx
589dea:	d1 f9                	sar    $1,%ecx
589dec:	51                   	push   %ecx
589ded:	d1 ff                	sar    $1,%edi
589def:	8b ce                	mov    %esi,%ecx
589df1:	57                   	push   %edi
589df2:	e8 64 e7 e9 ff       	call   0x42855b
589df7:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
589dfb:	72 02                	jb     0x589dff
589dfd:	8b 36                	mov    (%esi),%esi
589dff:	8b 44 24 0c          	mov    0xc(%esp),%eax
589e03:	8d 0c 7e             	lea    (%esi,%edi,2),%ecx
589e06:	5f                   	pop    %edi
589e07:	5e                   	pop    %esi
589e08:	89 08                	mov    %ecx,(%eax)
589e0a:	c2 0c 00             	ret    $0xc
589e0d:	cc                   	int3
589e0e:	cc                   	int3
589e0f:	cc                   	int3
589e10:	cc                   	int3
589e11:	cc                   	int3
589e12:	cc                   	int3
589e13:	cc                   	int3
589e14:	cc                   	int3
589e15:	cc                   	int3
589e16:	cc                   	int3
589e17:	cc                   	int3
589e18:	cc                   	int3
589e19:	cc                   	int3
589e1a:	cc                   	int3
589e1b:	cc                   	int3
589e1c:	cc                   	int3
589e1d:	cc                   	int3
589e1e:	cc                   	int3
589e1f:	cc                   	int3
589e20:	ff 74 24 04          	push   0x4(%esp)
589e24:	8d 41 04             	lea    0x4(%ecx),%eax
589e27:	50                   	push   %eax
589e28:	e8 56 8e e8 ff       	call   0x412c83
589e2d:	83 c4 08             	add    $0x8,%esp
589e30:	c2 04 00             	ret    $0x4
589e33:	cc                   	int3
589e34:	cc                   	int3
589e35:	cc                   	int3
589e36:	cc                   	int3
589e37:	cc                   	int3
589e38:	cc                   	int3
589e39:	cc                   	int3
589e3a:	cc                   	int3
589e3b:	cc                   	int3
589e3c:	cc                   	int3
589e3d:	cc                   	int3
589e3e:	cc                   	int3
589e3f:	cc                   	int3
589e40:	ff 74 24 04          	push   0x4(%esp)
589e44:	8d 41 04             	lea    0x4(%ecx),%eax
589e47:	50                   	push   %eax
589e48:	e8 36 8e e8 ff       	call   0x412c83
589e4d:	83 c4 08             	add    $0x8,%esp
589e50:	c2 04 00             	ret    $0x4
589e53:	cc                   	int3
589e54:	cc                   	int3
589e55:	cc                   	int3
589e56:	cc                   	int3
589e57:	cc                   	int3
589e58:	cc                   	int3
589e59:	cc                   	int3
589e5a:	cc                   	int3
589e5b:	cc                   	int3
589e5c:	cc                   	int3