5989d9:	e8 52 f2 fe ff       	call   0x587c30
5989de:	83 c4 08             	add    $0x8,%esp
5989e1:	f7 d8                	neg    %eax
5989e3:	1b c0                	sbb    %eax,%eax
5989e5:	f7 d8                	neg    %eax
5989e7:	c3                   	ret
5989e8:	cc                   	int3
5989e9:	cc                   	int3
5989ea:	cc                   	int3
5989eb:	cc                   	int3
5989ec:	cc                   	int3
5989ed:	cc                   	int3
5989ee:	cc                   	int3
5989ef:	cc                   	int3
5989f0:	68 ad 57 6e 00       	push   $0x6e57ad
5989f5:	ff 74 24 14          	push   0x14(%esp)
5989f9:	68 9c 80 6c 00       	push   $0x6c809c
5989fe:	ff 74 24 18          	push   0x18(%esp)
598a02:	e8 c9 64 f1 ff       	call   0x4aeed0
598a07:	83 c4 10             	add    $0x10,%esp
598a0a:	85 c0                	test   %eax,%eax
598a0c:	7f 03                	jg     0x598a11
598a0e:	33 c0                	xor    %eax,%eax
598a10:	c3                   	ret
598a11:	ff 74 24 08          	push   0x8(%esp)
598a15:	ff 74 24 10          	push   0x10(%esp)
598a19:	e8 72 ea f0 ff       	call   0x4a7490
598a1e:	33 c9                	xor    %ecx,%ecx
598a20:	83 c4 08             	add    $0x8,%esp
598a23:	85 c0                	test   %eax,%eax
598a25:	0f 9f c1             	setg   %cl
598a28:	8b c1                	mov    %ecx,%eax
598a2a:	c3                   	ret
598a2b:	cc                   	int3
598a2c:	cc                   	int3
598a2d:	cc                   	int3
598a2e:	cc                   	int3
598a2f:	cc                   	int3
598a30:	e9 5b b2 f1 ff       	jmp    0x4b3c90
598a35:	cc                   	int3
598a36:	cc                   	int3
598a37:	cc                   	int3
598a38:	cc                   	int3
598a39:	cc                   	int3
598a3a:	cc                   	int3
598a3b:	cc                   	int3
598a3c:	cc                   	int3
598a3d:	cc                   	int3
598a3e:	cc                   	int3
598a3f:	cc                   	int3
598a40:	57                   	push   %edi
598a41:	8b 7c 24 0c          	mov    0xc(%esp),%edi
598a45:	85 ff                	test   %edi,%edi
598a47:	74 1d                	je     0x598a66
598a49:	56                   	push   %esi
598a4a:	8b 74 24 0c          	mov    0xc(%esp),%esi
598a4e:	ff 36                	push   (%esi)
598a50:	ff 76 08             	push   0x8(%esi)
598a53:	ff 37                	push   (%edi)
598a55:	e8 a6 a4 04 00       	call   0x5e2f00
598a5a:	8b 0e                	mov    (%esi),%ecx
598a5c:	83 c4 0c             	add    $0xc,%esp
598a5f:	01 0f                	add    %ecx,(%edi)
598a61:	8b 06                	mov    (%esi),%eax
598a63:	5e                   	pop    %esi
598a64:	5f                   	pop    %edi
598a65:	c3                   	ret
598a66:	8b 44 24 08          	mov    0x8(%esp),%eax
598a6a:	5f                   	pop    %edi
598a6b:	8b 00                	mov    (%eax),%eax
598a6d:	c3                   	ret
598a6e:	cc                   	int3
598a6f:	cc                   	int3
598a70:	53                   	push   %ebx
598a71:	55                   	push   %ebp
598a72:	56                   	push   %esi
598a73:	57                   	push   %edi
598a74:	8b 7c 24 14          	mov    0x14(%esp),%edi
598a78:	85 ff                	test   %edi,%edi
598a7a:	74 06                	je     0x598a82
598a7c:	8b 37                	mov    (%edi),%esi
598a7e:	85 f6                	test   %esi,%esi
598a80:	75 07                	jne    0x598a89
598a82:	e8 09 b2 f1 ff       	call   0x4b3c90
598a87:	8b f0                	mov    %eax,%esi
598a89:	8b 5c 24 18          	mov    0x18(%esp),%ebx
598a8d:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
598a91:	55                   	push   %ebp
598a92:	ff 33                	push   (%ebx)
598a94:	56                   	push   %esi
598a95:	e8 06 45 f4 ff       	call   0x4dcfa0
598a9a:	83 c4 0c             	add    $0xc,%esp
598a9d:	85 c0                	test   %eax,%eax
598a9f:	75 34                	jne    0x598ad5
598aa1:	85 f6                	test   %esi,%esi
598aa3:	74 11                	je     0x598ab6
598aa5:	85 ff                	test   %edi,%edi
598aa7:	74 04                	je     0x598aad
598aa9:	39 37                	cmp    %esi,(%edi)
598aab:	74 09                	je     0x598ab6
598aad:	56                   	push   %esi
598aae:	e8 cd 8e f1 ff       	call   0x4b1980
598ab3:	83 c4 04             	add    $0x4,%esp
598ab6:	68 fd 00 00 00       	push   $0xfd
598abb:	68 c0 97 6c 00       	push   $0x6c97c0
598ac0:	6a 41                	push   $0x41
598ac2:	6a 66                	push   $0x66
598ac4:	6a 27                	push   $0x27
598ac6:	e8 d5 89 f0 ff       	call   0x4a14a0
598acb:	83 c4 14             	add    $0x14,%esp
598ace:	33 c0                	xor    %eax,%eax
598ad0:	5f                   	pop    %edi
598ad1:	5e                   	pop    %esi
598ad2:	5d                   	pop    %ebp
598ad3:	5b                   	pop    %ebx
598ad4:	c3                   	ret
598ad5:	01 2b                	add    %ebp,(%ebx)
598ad7:	85 ff                	test   %edi,%edi
598ad9:	74 02                	je     0x598add
598adb:	89 37                	mov    %esi,(%edi)
598add:	5f                   	pop    %edi
598ade:	8b c6                	mov    %esi,%eax
598ae0:	5e                   	pop    %esi
598ae1:	5d                   	pop    %ebp
598ae2:	5b                   	pop    %ebx
598ae3:	c3                   	ret
598ae4:	cc                   	int3
598ae5:	cc                   	int3
598ae6:	cc                   	int3
598ae7:	cc                   	int3
598ae8:	cc                   	int3
598ae9:	cc                   	int3
598aea:	cc                   	int3
598aeb:	cc                   	int3
598aec:	cc                   	int3
598aed:	cc                   	int3
598aee:	cc                   	int3
598aef:	cc                   	int3
598af0:	e9 8b 8e f1 ff       	jmp    0x4b1980
598af5:	cc                   	int3
598af6:	cc                   	int3
598af7:	cc                   	int3
598af8:	cc                   	int3
598af9:	cc                   	int3
598afa:	cc                   	int3
598afb:	cc                   	int3
598afc:	cc                   	int3
598afd:	cc                   	int3
598afe:	cc                   	int3
598aff:	cc                   	int3
598b00:	68 ad 57 6e 00       	push   $0x6e57ad
598b05:	ff 74 24 14          	push   0x14(%esp)
598b09:	68 9c 80 6c 00       	push   $0x6c809c
598b0e:	ff 74 24 18          	push   0x18(%esp)
598b12:	e8 b9 63 f1 ff       	call   0x4aeed0
598b17:	83 c4 10             	add    $0x10,%esp
598b1a:	85 c0                	test   %eax,%eax
598b1c:	7f 03                	jg     0x598b21
598b1e:	33 c0                	xor    %eax,%eax
598b20:	c3                   	ret
598b21:	6a 04                	push   $0x4
598b23:	ff 74 24 0c          	push   0xc(%esp)
598b27:	ff 74 24 14          	push   0x14(%esp)
598b2b:	e8 90 da 00 00       	call   0x5a65c0
598b30:	33 c9                	xor    %ecx,%ecx
598b32:	83 c4 0c             	add    $0xc,%esp
598b35:	85 c0                	test   %eax,%eax
598b37:	0f 9f c1             	setg   %cl
598b3a:	8b c1                	mov    %ecx,%eax
598b3c:	c3                   	ret
598b3d:	cc                   	int3
598b3e:	cc                   	int3
598b3f:	cc                   	int3
598b40:	e9 eb b0 f1 ff       	jmp    0x4b3c30
598b45:	cc                   	int3
598b46:	cc                   	int3
598b47:	cc                   	int3
598b48:	cc                   	int3
598b49:	cc                   	int3
598b4a:	cc                   	int3
598b4b:	cc                   	int3
598b4c:	cc                   	int3
598b4d:	cc                   	int3
598b4e:	cc                   	int3
598b4f:	cc                   	int3
598b50:	53                   	push   %ebx
598b51:	8b 5c 24 14          	mov    0x14(%esp),%ebx
598b55:	55                   	push   %ebp
598b56:	56                   	push   %esi
598b57:	8b 74 24 18          	mov    0x18(%esp),%esi
598b5b:	57                   	push   %edi
598b5c:	68 ad 57 6e 00       	push   $0x6e57ad
598b61:	53                   	push   %ebx
598b62:	68 dc 97 6c 00       	push   $0x6c97dc
598b67:	56                   	push   %esi
598b68:	e8 63 63 f1 ff       	call   0x4aeed0
598b6d:	83 c4 10             	add    $0x10,%esp
598b70:	85 c0                	test   %eax,%eax
598b72:	0f 8e a9 00 00 00    	jle    0x598c21
598b78:	8b 6c 24 18          	mov    0x18(%esp),%ebp
598b7c:	68 1f 03 82 00       	push   $0x82031f
598b81:	6a 00                	push   $0x0
598b83:	ff 75 00             	push   0x0(%ebp)
598b86:	56                   	push   %esi
598b87:	e8 94 40 ff ff       	call   0x58cc20
598b8c:	83 c4 10             	add    $0x10,%esp
598b8f:	85 c0                	test   %eax,%eax
598b91:	0f 8e 8a 00 00 00    	jle    0x598c21
598b97:	ff 75 04             	push   0x4(%ebp)
598b9a:	33 ff                	xor    %edi,%edi
598b9c:	e8 6f 5a f1 ff       	call   0x4ae610
598ba1:	83 c4 04             	add    $0x4,%esp
598ba4:	85 c0                	test   %eax,%eax
598ba6:	7e 6f                	jle    0x598c17
598ba8:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
598bab:	89 44 24 18          	mov    %eax,0x18(%esp)
598baf:	90                   	nop
598bb0:	57                   	push   %edi
598bb1:	ff 75 04             	push   0x4(%ebp)
598bb4:	e8 77 5b f1 ff       	call   0x4ae730
598bb9:	68 ad 57 6e 00       	push   $0x6e57ad
598bbe:	ff 74 24 24          	push   0x24(%esp)
598bc2:	8b d8                	mov    %eax,%ebx
598bc4:	68 e8 97 6c 00       	push   $0x6c97e8
598bc9:	56                   	push   %esi
598bca:	e8 01 63 f1 ff       	call   0x4aeed0
598bcf:	83 c4 18             	add    $0x18,%esp
598bd2:	85 c0                	test   %eax,%eax
598bd4:	7e 4b                	jle    0x598c21
598bd6:	ff 33                	push   (%ebx)
598bd8:	56                   	push   %esi
598bd9:	e8 b2 e8 f0 ff       	call   0x4a7490
598bde:	83 c4 08             	add    $0x8,%esp
598be1:	85 c0                	test   %eax,%eax
598be3:	7e 3c                	jle    0x598c21
598be5:	68 a4 6f 6c 00       	push   $0x6c6fa4
598bea:	56                   	push   %esi
598beb:	e8 20 9d f1 ff       	call   0x4b2910
598bf0:	83 c4 08             	add    $0x8,%esp
598bf3:	85 c0                	test   %eax,%eax
598bf5:	7e 2a                	jle    0x598c21
598bf7:	ff 73 04             	push   0x4(%ebx)
598bfa:	56                   	push   %esi
598bfb:	e8 e0 e0 ff ff       	call   0x596ce0
598c00:	83 c4 08             	add    $0x8,%esp
598c03:	85 c0                	test   %eax,%eax
598c05:	7e 1a                	jle    0x598c21
598c07:	ff 75 04             	push   0x4(%ebp)
598c0a:	47                   	inc    %edi
598c0b:	e8 00 5a f1 ff       	call   0x4ae610
598c10:	83 c4 04             	add    $0x4,%esp
598c13:	3b f8                	cmp    %eax,%edi
598c15:	7c 99                	jl     0x598bb0
598c17:	5f                   	pop    %edi
598c18:	5e                   	pop    %esi
598c19:	5d                   	pop    %ebp
598c1a:	b8 01 00 00 00       	mov    $0x1,%eax
598c1f:	5b                   	pop    %ebx
598c20:	c3                   	ret
598c21:	5f                   	pop    %edi
598c22:	5e                   	pop    %esi
598c23:	5d                   	pop    %ebp
598c24:	33 c0                	xor    %eax,%eax
598c26:	5b                   	pop    %ebx
598c27:	c3                   	ret
598c28:	cc                   	int3
598c29:	cc                   	int3
598c2a:	cc                   	int3
598c2b:	cc                   	int3
598c2c:	cc                   	int3
598c2d:	cc                   	int3
598c2e:	cc                   	int3
598c2f:	cc                   	int3
598c30:	b8 08 00 00 00       	mov    $0x8,%eax
598c35:	e8 b6 88 04 00       	call   0x5e14f0
598c3a:	57                   	push   %edi
598c3b:	ff 74 24 14          	push   0x14(%esp)
598c3f:	33 ff                	xor    %edi,%edi
598c41:	89 7c 24 08          	mov    %edi,0x8(%esp)
598c45:	e8 c6 59 f1 ff       	call   0x4ae610
598c4a:	83 c4 04             	add    $0x4,%esp
598c4d:	85 c0                	test   %eax,%eax
598c4f:	0f 8e 20 01 00 00    	jle    0x598d75
598c55:	53                   	push   %ebx
598c56:	8b 5c 24 20          	mov    0x20(%esp),%ebx
598c5a:	55                   	push   %ebp
598c5b:	56                   	push   %esi
598c5c:	8b 74 24 24          	mov    0x24(%esp),%esi
598c60:	57                   	push   %edi
598c61:	ff 74 24 24          	push   0x24(%esp)
598c65:	e8 c6 5a f1 ff       	call   0x4ae730
598c6a:	68 ad 57 6e 00       	push   $0x6e57ad
598c6f:	53                   	push   %ebx
598c70:	68 e4 9a 6c 00       	push   $0x6c9ae4
598c75:	56                   	push   %esi
598c76:	8b f8                	mov    %eax,%edi
598c78:	e8 53 62 f1 ff       	call   0x4aeed0
598c7d:	ff 37                	push   (%edi)
598c7f:	56                   	push   %esi
598c80:	e8 0b e8 f0 ff       	call   0x4a7490
598c85:	68 b8 82 6b 00       	push   $0x6b82b8
598c8a:	56                   	push   %esi
598c8b:	e8 80 9c f1 ff       	call   0x4b2910
598c90:	8b 7f 04             	mov    0x4(%edi),%edi
598c93:	83 c4 28             	add    $0x28,%esp
598c96:	89 7c 24 14          	mov    %edi,0x14(%esp)
598c9a:	85 ff                	test   %edi,%edi
598c9c:	0f 84 b3 00 00 00    	je     0x598d55
598ca2:	8d 6b 02             	lea    0x2(%ebx),%ebp
598ca5:	33 db                	xor    %ebx,%ebx
598ca7:	57                   	push   %edi
598ca8:	e8 63 59 f1 ff       	call   0x4ae610
598cad:	83 c4 04             	add    $0x4,%esp
598cb0:	85 c0                	test   %eax,%eax
598cb2:	0f 8e 99 00 00 00    	jle    0x598d51
598cb8:	53                   	push   %ebx
598cb9:	57                   	push   %edi
598cba:	e8 71 5a f1 ff       	call   0x4ae730
598cbf:	8b f8                	mov    %eax,%edi
598cc1:	ff 37                	push   (%edi)
598cc3:	e8 18 ed f0 ff       	call   0x4a79e0
598cc8:	83 c4 0c             	add    $0xc,%esp
598ccb:	2d a4 00 00 00       	sub    $0xa4,%eax
598cd0:	74 4f                	je     0x598d21
598cd2:	68 ad 57 6e 00       	push   $0x6e57ad
598cd7:	83 e8 01             	sub    $0x1,%eax
598cda:	74 27                	je     0x598d03
598cdc:	8d 45 02             	lea    0x2(%ebp),%eax
598cdf:	50                   	push   %eax
598ce0:	68 10 9b 6c 00       	push   $0x6c9b10
598ce5:	56                   	push   %esi
598ce6:	e8 e5 61 f1 ff       	call   0x4aeed0
598ceb:	ff 37                	push   (%edi)
598ced:	56                   	push   %esi
598cee:	e8 9d e7 f0 ff       	call   0x4a7490
598cf3:	68 b8 82 6b 00       	push   $0x6b82b8
598cf8:	56                   	push   %esi
598cf9:	e8 12 9c f1 ff       	call   0x4b2910
598cfe:	83 c4 20             	add    $0x20,%esp
598d01:	eb 38                	jmp    0x598d3b
598d03:	55                   	push   %ebp
598d04:	68 fc 9a 6c 00       	push   $0x6c9afc
598d09:	56                   	push   %esi
598d0a:	e8 c1 61 f1 ff       	call   0x4aeed0
598d0f:	8d 45 02             	lea    0x2(%ebp),%eax
598d12:	50                   	push   %eax
598d13:	ff 77 04             	push   0x4(%edi)
598d16:	56                   	push   %esi
598d17:	e8 a4 0a 00 00       	call   0x5997c0
598d1c:	83 c4 1c             	add    $0x1c,%esp