58681a:	5f                   	pop    %edi
58681b:	33 c0                	xor    %eax,%eax
58681d:	5e                   	pop    %esi
58681e:	c3                   	ret
58681f:	ff 77 0c             	push   0xc(%edi)
586822:	e8 f9 e6 f5 ff       	call   0x4e4f20
586827:	8d 4f 04             	lea    0x4(%edi),%ecx
58682a:	89 77 0c             	mov    %esi,0xc(%edi)
58682d:	83 c4 04             	add    $0x4,%esp
586830:	b8 01 00 00 00       	mov    $0x1,%eax
586835:	83 39 00             	cmpl   $0x0,(%ecx)
586838:	74 0e                	je     0x586848
58683a:	56                   	push   %esi
58683b:	8d 47 08             	lea    0x8(%edi),%eax
58683e:	50                   	push   %eax
58683f:	51                   	push   %ecx
586840:	e8 6b 1e 00 00       	call   0x5886b0
586845:	83 c4 0c             	add    $0xc,%esp
586848:	5f                   	pop    %edi
586849:	5e                   	pop    %esi
58684a:	c3                   	ret
58684b:	cc                   	int3
58684c:	cc                   	int3
58684d:	cc                   	int3
58684e:	cc                   	int3
58684f:	cc                   	int3
586850:	53                   	push   %ebx
586851:	56                   	push   %esi
586852:	57                   	push   %edi
586853:	8b 7c 24 10          	mov    0x10(%esp),%edi
586857:	e8 c4 e7 f5 ff       	call   0x4e5020
58685c:	8b f0                	mov    %eax,%esi
58685e:	85 f6                	test   %esi,%esi
586860:	74 46                	je     0x5868a8
586862:	8b 44 24 14          	mov    0x14(%esp),%eax
586866:	80 38 00             	cmpb   $0x0,(%eax)
586869:	74 24                	je     0x58688f
58686b:	56                   	push   %esi
58686c:	68 00 69 58 00       	push   $0x586900
586871:	6a 01                	push   $0x1
586873:	6a 3a                	push   $0x3a
586875:	50                   	push   %eax
586876:	e8 b5 3c f7 ff       	call   0x4fa530
58687b:	83 c4 14             	add    $0x14,%esp
58687e:	85 c0                	test   %eax,%eax
586880:	75 0d                	jne    0x58688f
586882:	56                   	push   %esi
586883:	e8 98 e6 f5 ff       	call   0x4e4f20
586888:	83 c4 04             	add    $0x4,%esp
58688b:	33 f6                	xor    %esi,%esi
58688d:	eb 19                	jmp    0x5868a8
58688f:	ff b7 c4 00 00 00    	push   0xc4(%edi)
586895:	e8 86 e6 f5 ff       	call   0x4e4f20
58689a:	89 b7 c4 00 00 00    	mov    %esi,0xc4(%edi)
5868a0:	83 c4 04             	add    $0x4,%esp
5868a3:	be 01 00 00 00       	mov    $0x1,%esi
5868a8:	83 bf bc 00 00 00 00 	cmpl   $0x0,0xbc(%edi)
5868af:	8d 9f bc 00 00 00    	lea    0xbc(%edi),%ebx
5868b5:	75 18                	jne    0x5868cf
5868b7:	57                   	push   %edi
5868b8:	e8 e3 2b 00 00       	call   0x5894a0
5868bd:	83 c4 04             	add    $0x4,%esp
5868c0:	85 c0                	test   %eax,%eax
5868c2:	74 0b                	je     0x5868cf
5868c4:	50                   	push   %eax
5868c5:	e8 06 e5 f5 ff       	call   0x4e4dd0
5868ca:	83 c4 04             	add    $0x4,%esp
5868cd:	89 03                	mov    %eax,(%ebx)
5868cf:	85 f6                	test   %esi,%esi
5868d1:	74 1f                	je     0x5868f2
5868d3:	83 3b 00             	cmpl   $0x0,(%ebx)
5868d6:	74 1a                	je     0x5868f2
5868d8:	ff b7 c4 00 00 00    	push   0xc4(%edi)
5868de:	8d 87 c0 00 00 00    	lea    0xc0(%edi),%eax
5868e4:	50                   	push   %eax
5868e5:	53                   	push   %ebx
5868e6:	e8 c5 1d 00 00       	call   0x5886b0
5868eb:	83 c4 0c             	add    $0xc,%esp
5868ee:	5f                   	pop    %edi
5868ef:	5e                   	pop    %esi
5868f0:	5b                   	pop    %ebx
5868f1:	c3                   	ret
5868f2:	5f                   	pop    %edi
5868f3:	8b c6                	mov    %esi,%eax
5868f5:	5e                   	pop    %esi
5868f6:	5b                   	pop    %ebx
5868f7:	c3                   	ret
5868f8:	cc                   	int3
5868f9:	cc                   	int3
5868fa:	cc                   	int3
5868fb:	cc                   	int3
5868fc:	cc                   	int3
5868fd:	cc                   	int3
5868fe:	cc                   	int3
5868ff:	cc                   	int3
586900:	b8 54 00 00 00       	mov    $0x54,%eax
586905:	e8 a6 ae 04 00       	call   0x5d17b0
58690a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
58690f:	33 c4                	xor    %esp,%eax
586911:	89 44 24 50          	mov    %eax,0x50(%esp)
586915:	8b 44 24 58          	mov    0x58(%esp),%eax
586919:	56                   	push   %esi
58691a:	8b 74 24 60          	mov    0x60(%esp),%esi
58691e:	57                   	push   %edi
58691f:	8b 7c 24 68          	mov    0x68(%esp),%edi
586923:	83 fe 4f             	cmp    $0x4f,%esi
586926:	7e 31                	jle    0x586959
586928:	68 05 05 00 00       	push   $0x505
58692d:	68 a4 46 66 00       	push   $0x6646a4
586932:	68 b9 00 00 00       	push   $0xb9
586937:	68 6e 02 00 00       	push   $0x26e
58693c:	6a 14                	push   $0x14
58693e:	e8 3d 26 f5 ff       	call   0x4d8f80
586943:	83 c4 14             	add    $0x14,%esp
586946:	33 c0                	xor    %eax,%eax
586948:	5f                   	pop    %edi
586949:	5e                   	pop    %esi
58694a:	8b 4c 24 50          	mov    0x50(%esp),%ecx
58694e:	33 cc                	xor    %esp,%ecx
586950:	e8 d1 b0 04 00       	call   0x5d1a26
586955:	83 c4 54             	add    $0x54,%esp
586958:	c3                   	ret
586959:	56                   	push   %esi
58695a:	50                   	push   %eax
58695b:	8d 44 24 10          	lea    0x10(%esp),%eax
58695f:	50                   	push   %eax
586960:	e8 6b c4 04 00       	call   0x5d2dd0
586965:	83 c4 0c             	add    $0xc,%esp
586968:	83 fe 50             	cmp    $0x50,%esi
58696b:	73 4f                	jae    0x5869bc
58696d:	8d 44 24 08          	lea    0x8(%esp),%eax
586971:	c6 44 34 08 00       	movb   $0x0,0x8(%esp,%esi,1)
586976:	50                   	push   %eax
586977:	e8 94 69 00 00       	call   0x58d310
58697c:	83 c4 04             	add    $0x4,%esp
58697f:	85 c0                	test   %eax,%eax
586981:	75 07                	jne    0x58698a
586983:	68 0e 05 00 00       	push   $0x50e
586988:	eb a3                	jmp    0x58692d
58698a:	50                   	push   %eax
58698b:	57                   	push   %edi
58698c:	e8 bf e7 f5 ff       	call   0x4e5150
586991:	83 c4 08             	add    $0x8,%esp
586994:	85 c0                	test   %eax,%eax
586996:	75 0e                	jne    0x5869a6
586998:	68 13 05 00 00       	push   $0x513
58699d:	68 a4 46 66 00       	push   $0x6646a4
5869a2:	6a 44                	push   $0x44
5869a4:	eb 91                	jmp    0x586937
5869a6:	8b 4c 24 58          	mov    0x58(%esp),%ecx
5869aa:	b8 01 00 00 00       	mov    $0x1,%eax
5869af:	5f                   	pop    %edi
5869b0:	5e                   	pop    %esi
5869b1:	33 cc                	xor    %esp,%ecx
5869b3:	e8 6e b0 04 00       	call   0x5d1a26
5869b8:	83 c4 54             	add    $0x54,%esp
5869bb:	c3                   	ret
5869bc:	e8 54 b6 04 00       	call   0x5d2015
5869c1:	cc                   	int3
5869c2:	cc                   	int3
5869c3:	cc                   	int3
5869c4:	cc                   	int3
5869c5:	cc                   	int3
5869c6:	cc                   	int3
5869c7:	cc                   	int3
5869c8:	cc                   	int3
5869c9:	cc                   	int3
5869ca:	cc                   	int3
5869cb:	cc                   	int3
5869cc:	cc                   	int3
5869cd:	cc                   	int3
5869ce:	cc                   	int3
5869cf:	cc                   	int3
5869d0:	ff 74 24 04          	push   0x4(%esp)
5869d4:	e8 b7 48 00 00       	call   0x58b290
5869d9:	83 c4 04             	add    $0x4,%esp
5869dc:	85 c0                	test   %eax,%eax
5869de:	74 0e                	je     0x5869ee
5869e0:	8b 0d c0 6c 69 00    	mov    0x696cc0,%ecx
5869e6:	85 48 04             	test   %ecx,0x4(%eax)
5869e9:	75 03                	jne    0x5869ee
5869eb:	33 c0                	xor    %eax,%eax
5869ed:	c3                   	ret
5869ee:	b8 01 00 00 00       	mov    $0x1,%eax
5869f3:	c3                   	ret
5869f4:	cc                   	int3
5869f5:	cc                   	int3
5869f6:	cc                   	int3
5869f7:	cc                   	int3
5869f8:	cc                   	int3
5869f9:	cc                   	int3
5869fa:	cc                   	int3
5869fb:	cc                   	int3
5869fc:	cc                   	int3
5869fd:	cc                   	int3
5869fe:	cc                   	int3
5869ff:	cc                   	int3
586a00:	b8 20 00 00 00       	mov    $0x20,%eax
586a05:	e8 a6 ad 04 00       	call   0x5d17b0
586a0a:	8b 4c 24 40          	mov    0x40(%esp),%ecx
586a0e:	53                   	push   %ebx
586a0f:	55                   	push   %ebp
586a10:	33 ed                	xor    %ebp,%ebp
586a12:	89 6c 24 10          	mov    %ebp,0x10(%esp)
586a16:	56                   	push   %esi
586a17:	57                   	push   %edi
586a18:	83 f9 03             	cmp    $0x3,%ecx
586a1b:	74 05                	je     0x586a22
586a1d:	83 f9 06             	cmp    $0x6,%ecx
586a20:	75 09                	jne    0x586a2b
586a22:	bd 01 00 00 00       	mov    $0x1,%ebp
586a27:	89 6c 24 18          	mov    %ebp,0x18(%esp)
586a2b:	8b 54 24 58          	mov    0x58(%esp),%edx
586a2f:	85 ed                	test   %ebp,%ebp
586a31:	8b 74 24 5c          	mov    0x5c(%esp),%esi
586a35:	8b 1a                	mov    (%edx),%ebx
586a37:	8b c3                	mov    %ebx,%eax
586a39:	8b 3e                	mov    (%esi),%edi
586a3b:	0f 44 c7             	cmove  %edi,%eax
586a3e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
586a42:	85 c0                	test   %eax,%eax
586a44:	0f 84 d3 02 00 00    	je     0x586d1d
586a4a:	85 ed                	test   %ebp,%ebp
586a4c:	8b d7                	mov    %edi,%edx
586a4e:	0f 44 d3             	cmove  %ebx,%edx
586a51:	89 7c 24 14          	mov    %edi,0x14(%esp)
586a55:	8b f3                	mov    %ebx,%esi
586a57:	89 7c 24 20          	mov    %edi,0x20(%esp)
586a5b:	8b eb                	mov    %ebx,%ebp
586a5d:	89 54 24 28          	mov    %edx,0x28(%esp)
586a61:	8b c2                	mov    %edx,%eax
586a63:	89 54 24 10          	mov    %edx,0x10(%esp)
586a67:	89 54 24 24          	mov    %edx,0x24(%esp)
586a6b:	85 d2                	test   %edx,%edx
586a6d:	0f 84 96 02 00 00    	je     0x586d09
586a73:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
586a78:	74 05                	je     0x586a7f
586a7a:	8b 52 10             	mov    0x10(%edx),%edx
586a7d:	eb 03                	jmp    0x586a82
586a7f:	8b 52 0c             	mov    0xc(%edx),%edx
586a82:	83 7c 24 54 00       	cmpl   $0x0,0x54(%esp)
586a87:	89 54 24 1c          	mov    %edx,0x1c(%esp)
586a8b:	8b 10                	mov    (%eax),%edx
586a8d:	7c 16                	jl     0x586aa5
586a8f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
586a93:	3b 4a 38             	cmp    0x38(%edx),%ecx
586a96:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586a9a:	0f 85 5b 02 00 00    	jne    0x586cfb
586aa0:	e9 b6 00 00 00       	jmp    0x586b5b
586aa5:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
586aaa:	74 0d                	je     0x586ab9
586aac:	8b 4c 24 34          	mov    0x34(%esp),%ecx
586ab0:	3b 4a 0c             	cmp    0xc(%edx),%ecx
586ab3:	0f 85 42 02 00 00    	jne    0x586cfb
586ab9:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
586abe:	74 0d                	je     0x586acd
586ac0:	8b 4c 24 38          	mov    0x38(%esp),%ecx
586ac4:	85 4a 10             	test   %ecx,0x10(%edx)
586ac7:	0f 84 2e 02 00 00    	je     0x586cfb
586acd:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
586ad2:	74 0d                	je     0x586ae1
586ad4:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
586ad8:	85 4a 14             	test   %ecx,0x14(%edx)
586adb:	0f 84 1a 02 00 00    	je     0x586cfb
586ae1:	83 7c 24 40 00       	cmpl   $0x0,0x40(%esp)
586ae6:	74 0d                	je     0x586af5
586ae8:	8b 4c 24 40          	mov    0x40(%esp),%ecx
586aec:	85 4a 18             	test   %ecx,0x18(%edx)
586aef:	0f 84 06 02 00 00    	je     0x586cfb
586af5:	83 7c 24 44 00       	cmpl   $0x0,0x44(%esp)
586afa:	74 0d                	je     0x586b09
586afc:	8b 4c 24 44          	mov    0x44(%esp),%ecx
586b00:	85 4a 1c             	test   %ecx,0x1c(%edx)
586b03:	0f 84 f2 01 00 00    	je     0x586cfb
586b09:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
586b0e:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b12:	74 11                	je     0x586b25
586b14:	8b 4c 24 48          	mov    0x48(%esp),%ecx
586b18:	3b 4a 20             	cmp    0x20(%edx),%ecx
586b1b:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b1f:	0f 85 d6 01 00 00    	jne    0x586cfb
586b25:	f6 44 24 4c 1f       	testb  $0x1f,0x4c(%esp)
586b2a:	74 14                	je     0x586b40
586b2c:	8b 4a 30             	mov    0x30(%edx),%ecx
586b2f:	23 4c 24 4c          	and    0x4c(%esp),%ecx
586b33:	f6 c1 1f             	test   $0x1f,%cl
586b36:	0f 84 bf 01 00 00    	je     0x586cfb
586b3c:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b40:	f6 44 24 4c 20       	testb  $0x20,0x4c(%esp)
586b45:	74 14                	je     0x586b5b
586b47:	8b 4a 30             	mov    0x30(%edx),%ecx
586b4a:	23 4c 24 4c          	and    0x4c(%esp),%ecx
586b4e:	f6 c1 20             	test   $0x20,%cl
586b51:	0f 84 a4 01 00 00    	je     0x586cfb
586b57:	8b 4c 24 50          	mov    0x50(%esp),%ecx
586b5b:	83 f9 01             	cmp    $0x1,%ecx
586b5e:	75 4e                	jne    0x586bae
586b60:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
586b64:	0f 85 91 01 00 00    	jne    0x586cfb
586b6a:	3b c7                	cmp    %edi,%eax
586b6c:	74 34                	je     0x586ba2
586b6e:	8b 50 0c             	mov    0xc(%eax),%edx
586b71:	3b c5                	cmp    %ebp,%eax
586b73:	8b 48 10             	mov    0x10(%eax),%ecx
586b76:	8b da                	mov    %edx,%ebx
586b78:	0f 45 de             	cmovne %esi,%ebx
586b7b:	85 c9                	test   %ecx,%ecx
586b7d:	74 0a                	je     0x586b89
586b7f:	89 51 0c             	mov    %edx,0xc(%ecx)
586b82:	8b 4c 24 10          	mov    0x10(%esp),%ecx
586b86:	8b 51 0c             	mov    0xc(%ecx),%edx
586b89:	85 d2                	test   %edx,%edx
586b8b:	74 06                	je     0x586b93
586b8d:	8b 48 10             	mov    0x10(%eax),%ecx
586b90:	89 4a 10             	mov    %ecx,0x10(%edx)
586b93:	89 47 0c             	mov    %eax,0xc(%edi)
586b96:	89 78 10             	mov    %edi,0x10(%eax)
586b99:	8b f8                	mov    %eax,%edi
586b9b:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
586ba2:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
586ba9:	e9 4d 01 00 00       	jmp    0x586cfb
586bae:	83 f9 04             	cmp    $0x4,%ecx
586bb1:	75 44                	jne    0x586bf7
586bb3:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
586bb7:	0f 84 3e 01 00 00    	je     0x586cfb
586bbd:	3b c7                	cmp    %edi,%eax
586bbf:	0f 84 36 01 00 00    	je     0x586cfb
586bc5:	8b 50 0c             	mov    0xc(%eax),%edx
586bc8:	3b c6                	cmp    %esi,%eax
586bca:	8b 48 10             	mov    0x10(%eax),%ecx
586bcd:	8b da                	mov    %edx,%ebx
586bcf:	0f 45 de             	cmovne %esi,%ebx
586bd2:	85 c9                	test   %ecx,%ecx
586bd4:	74 0a                	je     0x586be0
586bd6:	89 51 0c             	mov    %edx,0xc(%ecx)
586bd9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
586bdd:	8b 51 0c             	mov    0xc(%ecx),%edx
586be0:	85 d2                	test   %edx,%edx
586be2:	74 06                	je     0x586bea
586be4:	8b 48 10             	mov    0x10(%eax),%ecx
586be7:	89 4a 10             	mov    %ecx,0x10(%edx)
586bea:	89 47 0c             	mov    %eax,0xc(%edi)
586bed:	89 78 10             	mov    %edi,0x10(%eax)
586bf0:	8b f8                	mov    %eax,%edi
586bf2:	e9 fd 00 00 00       	jmp    0x586cf4
586bf7:	83 f9 03             	cmp    $0x3,%ecx
586bfa:	75 52                	jne    0x586c4e
586bfc:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
586c00:	0f 84 f5 00 00 00    	je     0x586cfb
586c06:	3b c3                	cmp    %ebx,%eax