5878be:	8b c6                	mov    %esi,%eax
5878c0:	5e                   	pop    %esi
5878c1:	c3                   	ret
5878c2:	cc                   	int3
5878c3:	cc                   	int3
5878c4:	cc                   	int3
5878c5:	cc                   	int3
5878c6:	cc                   	int3
5878c7:	cc                   	int3
5878c8:	cc                   	int3
5878c9:	cc                   	int3
5878ca:	cc                   	int3
5878cb:	cc                   	int3
5878cc:	cc                   	int3
5878cd:	cc                   	int3
5878ce:	cc                   	int3
5878cf:	cc                   	int3
5878d0:	8b 44 24 04          	mov    0x4(%esp),%eax
5878d4:	85 c0                	test   %eax,%eax
5878d6:	75 13                	jne    0x5878eb
5878d8:	e8 a3 cd f3 ff       	call   0x4c4680
5878dd:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5878e1:	89 01                	mov    %eax,(%ecx)
5878e3:	f7 d8                	neg    %eax
5878e5:	1b c0                	sbb    %eax,%eax
5878e7:	83 e0 02             	and    $0x2,%eax
5878ea:	c3                   	ret
5878eb:	83 f8 02             	cmp    $0x2,%eax
5878ee:	75 1c                	jne    0x58790c
5878f0:	56                   	push   %esi
5878f1:	8b 74 24 0c          	mov    0xc(%esp),%esi
5878f5:	ff 36                	push   (%esi)
5878f7:	e8 64 cc f3 ff       	call   0x4c4560
5878fc:	83 c4 04             	add    $0x4,%esp
5878ff:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
587905:	b8 02 00 00 00       	mov    $0x2,%eax
58790a:	5e                   	pop    %esi
58790b:	c3                   	ret
58790c:	b8 01 00 00 00       	mov    $0x1,%eax
587911:	c3                   	ret
587912:	cc                   	int3
587913:	cc                   	int3
587914:	cc                   	int3
587915:	cc                   	int3
587916:	cc                   	int3
587917:	cc                   	int3
587918:	cc                   	int3
587919:	cc                   	int3
58791a:	cc                   	int3
58791b:	cc                   	int3
58791c:	cc                   	int3
58791d:	cc                   	int3
58791e:	cc                   	int3
58791f:	cc                   	int3
587920:	68 14 3a 6c 00       	push   $0x6c3a14
587925:	ff 74 24 08          	push   0x8(%esp)
587929:	e8 62 a5 f2 ff       	call   0x4b1e90
58792e:	83 c4 08             	add    $0x8,%esp
587931:	c3                   	ret
587932:	cc                   	int3
587933:	cc                   	int3
587934:	cc                   	int3
587935:	cc                   	int3
587936:	cc                   	int3
587937:	cc                   	int3
587938:	cc                   	int3
587939:	cc                   	int3
58793a:	cc                   	int3
58793b:	cc                   	int3
58793c:	cc                   	int3
58793d:	cc                   	int3
58793e:	cc                   	int3
58793f:	cc                   	int3
587940:	b8 14 3a 6c 00       	mov    $0x6c3a14,%eax
587945:	c3                   	ret
587946:	cc                   	int3
587947:	cc                   	int3
587948:	cc                   	int3
587949:	cc                   	int3
58794a:	cc                   	int3
58794b:	cc                   	int3
58794c:	cc                   	int3
58794d:	cc                   	int3
58794e:	cc                   	int3
58794f:	cc                   	int3
587950:	68 14 3a 6c 00       	push   $0x6c3a14
587955:	e8 f6 41 f4 ff       	call   0x4cbb50
58795a:	83 c4 04             	add    $0x4,%esp
58795d:	c3                   	ret
58795e:	cc                   	int3
58795f:	cc                   	int3
587960:	68 6c 39 6c 00       	push   $0x6c396c
587965:	ff 74 24 08          	push   0x8(%esp)
587969:	e8 22 a5 f2 ff       	call   0x4b1e90
58796e:	83 c4 08             	add    $0x8,%esp
587971:	c3                   	ret
587972:	cc                   	int3
587973:	cc                   	int3
587974:	cc                   	int3
587975:	cc                   	int3
587976:	cc                   	int3
587977:	cc                   	int3
587978:	cc                   	int3
587979:	cc                   	int3
58797a:	cc                   	int3
58797b:	cc                   	int3
58797c:	cc                   	int3
58797d:	cc                   	int3
58797e:	cc                   	int3
58797f:	cc                   	int3
587980:	b8 6c 39 6c 00       	mov    $0x6c396c,%eax
587985:	c3                   	ret
587986:	cc                   	int3
587987:	cc                   	int3
587988:	cc                   	int3
587989:	cc                   	int3
58798a:	cc                   	int3
58798b:	cc                   	int3
58798c:	cc                   	int3
58798d:	cc                   	int3
58798e:	cc                   	int3
58798f:	cc                   	int3
587990:	68 6c 39 6c 00       	push   $0x6c396c
587995:	e8 b6 41 f4 ff       	call   0x4cbb50
58799a:	83 c4 04             	add    $0x4,%esp
58799d:	c3                   	ret
58799e:	cc                   	int3
58799f:	cc                   	int3
5879a0:	68 f4 38 6c 00       	push   $0x6c38f4
5879a5:	ff 74 24 10          	push   0x10(%esp)
5879a9:	ff 74 24 10          	push   0x10(%esp)
5879ad:	ff 74 24 10          	push   0x10(%esp)
5879b1:	e8 8a 46 f4 ff       	call   0x4cc040
5879b6:	83 c4 10             	add    $0x10,%esp
5879b9:	c3                   	ret
5879ba:	cc                   	int3
5879bb:	cc                   	int3
5879bc:	cc                   	int3
5879bd:	cc                   	int3
5879be:	cc                   	int3
5879bf:	cc                   	int3
5879c0:	68 50 39 6c 00       	push   $0x6c3950
5879c5:	ff 74 24 10          	push   0x10(%esp)
5879c9:	ff 74 24 10          	push   0x10(%esp)
5879cd:	ff 74 24 10          	push   0x10(%esp)
5879d1:	e8 6a 46 f4 ff       	call   0x4cc040
5879d6:	83 c4 10             	add    $0x10,%esp
5879d9:	c3                   	ret
5879da:	cc                   	int3
5879db:	cc                   	int3
5879dc:	cc                   	int3
5879dd:	cc                   	int3
5879de:	cc                   	int3
5879df:	cc                   	int3
5879e0:	68 14 3a 6c 00       	push   $0x6c3a14
5879e5:	ff 74 24 10          	push   0x10(%esp)
5879e9:	ff 74 24 10          	push   0x10(%esp)
5879ed:	ff 74 24 10          	push   0x10(%esp)
5879f1:	e8 4a 46 f4 ff       	call   0x4cc040
5879f6:	83 c4 10             	add    $0x10,%esp
5879f9:	c3                   	ret
5879fa:	cc                   	int3
5879fb:	cc                   	int3
5879fc:	cc                   	int3
5879fd:	cc                   	int3
5879fe:	cc                   	int3
5879ff:	cc                   	int3
587a00:	68 6c 39 6c 00       	push   $0x6c396c
587a05:	ff 74 24 10          	push   0x10(%esp)
587a09:	ff 74 24 10          	push   0x10(%esp)
587a0d:	ff 74 24 10          	push   0x10(%esp)
587a11:	e8 2a 46 f4 ff       	call   0x4cc040
587a16:	83 c4 10             	add    $0x10,%esp
587a19:	c3                   	ret
587a1a:	cc                   	int3
587a1b:	cc                   	int3
587a1c:	cc                   	int3
587a1d:	cc                   	int3
587a1e:	cc                   	int3
587a1f:	cc                   	int3
587a20:	68 f4 38 6c 00       	push   $0x6c38f4
587a25:	ff 74 24 0c          	push   0xc(%esp)
587a29:	ff 74 24 0c          	push   0xc(%esp)
587a2d:	e8 ce 61 f4 ff       	call   0x4cdc00
587a32:	83 c4 0c             	add    $0xc,%esp
587a35:	c3                   	ret
587a36:	cc                   	int3
587a37:	cc                   	int3
587a38:	cc                   	int3
587a39:	cc                   	int3
587a3a:	cc                   	int3
587a3b:	cc                   	int3
587a3c:	cc                   	int3
587a3d:	cc                   	int3
587a3e:	cc                   	int3
587a3f:	cc                   	int3
587a40:	68 50 39 6c 00       	push   $0x6c3950
587a45:	ff 74 24 0c          	push   0xc(%esp)
587a49:	ff 74 24 0c          	push   0xc(%esp)
587a4d:	e8 ae 61 f4 ff       	call   0x4cdc00
587a52:	83 c4 0c             	add    $0xc,%esp
587a55:	c3                   	ret
587a56:	cc                   	int3
587a57:	cc                   	int3
587a58:	cc                   	int3
587a59:	cc                   	int3
587a5a:	cc                   	int3
587a5b:	cc                   	int3
587a5c:	cc                   	int3
587a5d:	cc                   	int3
587a5e:	cc                   	int3
587a5f:	cc                   	int3
587a60:	8b 4c 24 08          	mov    0x8(%esp),%ecx
587a64:	85 c9                	test   %ecx,%ecx
587a66:	74 09                	je     0x587a71
587a68:	8b 44 24 04          	mov    0x4(%esp),%eax
587a6c:	8b 40 08             	mov    0x8(%eax),%eax
587a6f:	89 01                	mov    %eax,(%ecx)
587a71:	c3                   	ret
587a72:	cc                   	int3
587a73:	cc                   	int3
587a74:	cc                   	int3
587a75:	cc                   	int3
587a76:	cc                   	int3
587a77:	cc                   	int3
587a78:	cc                   	int3
587a79:	cc                   	int3
587a7a:	cc                   	int3
587a7b:	cc                   	int3
587a7c:	cc                   	int3
587a7d:	cc                   	int3
587a7e:	cc                   	int3
587a7f:	cc                   	int3
587a80:	8b 54 24 08          	mov    0x8(%esp),%edx
587a84:	8b 4c 24 04          	mov    0x4(%esp),%ecx
587a88:	85 d2                	test   %edx,%edx
587a8a:	74 05                	je     0x587a91
587a8c:	8b 41 1c             	mov    0x1c(%ecx),%eax
587a8f:	89 02                	mov    %eax,(%edx)
587a91:	8b 54 24 0c          	mov    0xc(%esp),%edx
587a95:	85 d2                	test   %edx,%edx
587a97:	74 05                	je     0x587a9e
587a99:	8b 41 08             	mov    0x8(%ecx),%eax
587a9c:	89 02                	mov    %eax,(%edx)
587a9e:	8b 54 24 10          	mov    0x10(%esp),%edx
587aa2:	85 d2                	test   %edx,%edx
587aa4:	74 05                	je     0x587aab
587aa6:	8b 41 10             	mov    0x10(%ecx),%eax
587aa9:	89 02                	mov    %eax,(%edx)
587aab:	c3                   	ret
587aac:	cc                   	int3
587aad:	cc                   	int3
587aae:	cc                   	int3
587aaf:	cc                   	int3
587ab0:	56                   	push   %esi
587ab1:	8b 74 24 08          	mov    0x8(%esp),%esi
587ab5:	ff 76 10             	push   0x10(%esi)
587ab8:	e8 23 ff f1 ff       	call   0x4a79e0
587abd:	8b 4c 24 10          	mov    0x10(%esp),%ecx
587ac1:	83 c4 04             	add    $0x4,%esp
587ac4:	83 e9 01             	sub    $0x1,%ecx
587ac7:	74 5d                	je     0x587b26
587ac9:	83 e9 01             	sub    $0x1,%ecx
587acc:	74 19                	je     0x587ae7
587ace:	6a 69                	push   $0x69
587ad0:	68 d4 3a 6c 00       	push   $0x6c3ad4
587ad5:	6a 6e                	push   $0x6e
587ad7:	6a 68                	push   $0x68
587ad9:	6a 21                	push   $0x21
587adb:	e8 c0 99 f1 ff       	call   0x4a14a0
587ae0:	83 c4 14             	add    $0x14,%esp
587ae3:	33 c0                	xor    %eax,%eax
587ae5:	5e                   	pop    %esi
587ae6:	c3                   	ret
587ae7:	83 f8 16             	cmp    $0x16,%eax
587aea:	75 21                	jne    0x587b0d
587aec:	8b 46 14             	mov    0x14(%esi),%eax
587aef:	85 c0                	test   %eax,%eax
587af1:	74 10                	je     0x587b03
587af3:	8b 40 14             	mov    0x14(%eax),%eax
587af6:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
587afa:	74 07                	je     0x587b03
587afc:	33 c0                	xor    %eax,%eax
587afe:	89 46 0c             	mov    %eax,0xc(%esi)
587b01:	5e                   	pop    %esi
587b02:	c3                   	ret
587b03:	b8 01 00 00 00       	mov    $0x1,%eax
587b08:	89 46 0c             	mov    %eax,0xc(%esi)
587b0b:	5e                   	pop    %esi
587b0c:	c3                   	ret
587b0d:	6a 63                	push   $0x63
587b0f:	68 d4 3a 6c 00       	push   $0x6c3ad4
587b14:	6a 68                	push   $0x68
587b16:	6a 68                	push   $0x68
587b18:	6a 21                	push   $0x21
587b1a:	e8 81 99 f1 ff       	call   0x4a14a0
587b1f:	83 c4 14             	add    $0x14,%esp
587b22:	33 c0                	xor    %eax,%eax
587b24:	5e                   	pop    %esi
587b25:	c3                   	ret
587b26:	83 f8 16             	cmp    $0x16,%eax
587b29:	75 45                	jne    0x587b70
587b2b:	57                   	push   %edi
587b2c:	8b 7c 24 14          	mov    0x14(%esp),%edi
587b30:	89 7e 0c             	mov    %edi,0xc(%esi)
587b33:	85 ff                	test   %edi,%edi
587b35:	74 34                	je     0x587b6b
587b37:	8b 46 14             	mov    0x14(%esi),%eax
587b3a:	8b 40 14             	mov    0x14(%eax),%eax
587b3d:	ff 70 10             	push   0x10(%eax)
587b40:	e8 9b fe f1 ff       	call   0x4a79e0
587b45:	83 c4 04             	add    $0x4,%esp
587b48:	83 f8 15             	cmp    $0x15,%eax
587b4b:	75 1e                	jne    0x587b6b
587b4d:	8b 4e 14             	mov    0x14(%esi),%ecx
587b50:	8b 49 14             	mov    0x14(%ecx),%ecx
587b53:	ff 71 14             	push   0x14(%ecx)
587b56:	e8 05 c1 f2 ff       	call   0x4b3c60
587b5b:	8b 4e 14             	mov    0x14(%esi),%ecx
587b5e:	83 c4 04             	add    $0x4,%esp
587b61:	8b 49 14             	mov    0x14(%ecx),%ecx
587b64:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
587b6b:	8b c7                	mov    %edi,%eax
587b6d:	5f                   	pop    %edi
587b6e:	5e                   	pop    %esi
587b6f:	c3                   	ret
587b70:	6a 55                	push   $0x55
587b72:	eb 9b                	jmp    0x587b0f
587b74:	cc                   	int3
587b75:	cc                   	int3
587b76:	cc                   	int3
587b77:	cc                   	int3
587b78:	cc                   	int3
587b79:	cc                   	int3
587b7a:	cc                   	int3
587b7b:	cc                   	int3
587b7c:	cc                   	int3
587b7d:	cc                   	int3
587b7e:	cc                   	int3
587b7f:	cc                   	int3
587b80:	56                   	push   %esi
587b81:	8b 74 24 0c          	mov    0xc(%esp),%esi
587b85:	ff 76 10             	push   0x10(%esi)
587b88:	e8 53 fe f1 ff       	call   0x4a79e0
587b8d:	83 c0 eb             	add    $0xffffffeb,%eax
587b90:	83 c4 04             	add    $0x4,%esp
587b93:	83 f8 03             	cmp    $0x3,%eax
587b96:	77 75                	ja     0x587c0d
587b98:	ff 24 85 14 7c 58 00 	jmp    *0x587c14(,%eax,4)
587b9f:	8b 56 14             	mov    0x14(%esi),%edx