5808ba:	5d                   	pop    %ebp
5808bb:	5b                   	pop    %ebx
5808bc:	59                   	pop    %ecx
5808bd:	c3                   	ret
5808be:	5f                   	pop    %edi
5808bf:	5e                   	pop    %esi
5808c0:	5d                   	pop    %ebp
5808c1:	b8 01 00 00 00       	mov    $0x1,%eax
5808c6:	5b                   	pop    %ebx
5808c7:	59                   	pop    %ecx
5808c8:	c3                   	ret
5808c9:	cc                   	int3
5808ca:	cc                   	int3
5808cb:	cc                   	int3
5808cc:	cc                   	int3
5808cd:	cc                   	int3
5808ce:	cc                   	int3
5808cf:	cc                   	int3
5808d0:	8b 44 24 0c          	mov    0xc(%esp),%eax
5808d4:	83 c8 18             	or     $0x18,%eax
5808d7:	50                   	push   %eax
5808d8:	8b 44 24 08          	mov    0x8(%esp),%eax
5808dc:	ff 74 24 0c          	push   0xc(%esp)
5808e0:	ff 70 10             	push   0x10(%eax)
5808e3:	e8 68 00 00 00       	call   0x580950
5808e8:	83 c4 0c             	add    $0xc,%esp
5808eb:	c3                   	ret
5808ec:	cc                   	int3
5808ed:	cc                   	int3
5808ee:	cc                   	int3
5808ef:	cc                   	int3
5808f0:	8b 44 24 0c          	mov    0xc(%esp),%eax
5808f4:	83 e0 e7             	and    $0xffffffe7,%eax
5808f7:	50                   	push   %eax
5808f8:	8b 44 24 08          	mov    0x8(%esp),%eax
5808fc:	ff 74 24 0c          	push   0xc(%esp)
580900:	ff 70 10             	push   0x10(%eax)
580903:	e8 48 00 00 00       	call   0x580950
580908:	83 c4 0c             	add    $0xc,%esp
58090b:	c3                   	ret
58090c:	cc                   	int3
58090d:	cc                   	int3
58090e:	cc                   	int3
58090f:	cc                   	int3
580910:	56                   	push   %esi
580911:	8b 74 24 0c          	mov    0xc(%esp),%esi
580915:	6a 00                	push   $0x0
580917:	6a ff                	push   $0xffffffff
580919:	56                   	push   %esi
58091a:	e8 f1 bb fd ff       	call   0x55c510
58091f:	83 c4 0c             	add    $0xc,%esp
580922:	83 f8 01             	cmp    $0x1,%eax
580925:	75 13                	jne    0x58093a
580927:	f6 44 24 10 04       	testb  $0x4,0x10(%esp)
58092c:	75 0c                	jne    0x58093a
58092e:	f7 86 80 00 00 00 00 	testl  $0x2000,0x80(%esi)
580935:	20 00 00
580938:	75 05                	jne    0x58093f
58093a:	b8 03 00 00 00       	mov    $0x3,%eax
58093f:	5e                   	pop    %esi
580940:	c3                   	ret
580941:	cc                   	int3
580942:	cc                   	int3
580943:	cc                   	int3
580944:	cc                   	int3
580945:	cc                   	int3
580946:	cc                   	int3
580947:	cc                   	int3
580948:	cc                   	int3
580949:	cc                   	int3
58094a:	cc                   	int3
58094b:	cc                   	int3
58094c:	cc                   	int3
58094d:	cc                   	int3
58094e:	cc                   	int3
58094f:	cc                   	int3
580950:	53                   	push   %ebx
580951:	8b 5c 24 10          	mov    0x10(%esp),%ebx
580955:	55                   	push   %ebp
580956:	8b 6c 24 10          	mov    0x10(%esp),%ebp
58095a:	56                   	push   %esi
58095b:	57                   	push   %edi
58095c:	8b bd c4 00 00 00    	mov    0xc4(%ebp),%edi
580962:	85 ff                	test   %edi,%edi
580964:	0f 84 ac 00 00 00    	je     0x580a16
58096a:	8b 4f 04             	mov    0x4(%edi),%ecx
58096d:	85 c9                	test   %ecx,%ecx
58096f:	74 43                	je     0x5809b4
580971:	51                   	push   %ecx
580972:	33 f6                	xor    %esi,%esi
580974:	e8 47 47 f6 ff       	call   0x4e50c0
580979:	83 c4 04             	add    $0x4,%esp
58097c:	85 c0                	test   %eax,%eax
58097e:	7e 34                	jle    0x5809b4
580980:	56                   	push   %esi
580981:	ff 77 04             	push   0x4(%edi)
580984:	e8 f7 48 f6 ff       	call   0x4e5280
580989:	50                   	push   %eax
58098a:	e8 71 ec f6 ff       	call   0x4ef600
58098f:	83 c4 0c             	add    $0xc,%esp
580992:	3b 44 24 14          	cmp    0x14(%esp),%eax
580996:	74 6a                	je     0x580a02
580998:	3d 8e 03 00 00       	cmp    $0x38e,%eax
58099d:	75 05                	jne    0x5809a4
58099f:	f6 c3 10             	test   $0x10,%bl
5809a2:	75 5e                	jne    0x580a02
5809a4:	ff 77 04             	push   0x4(%edi)
5809a7:	46                   	inc    %esi
5809a8:	e8 13 47 f6 ff       	call   0x4e50c0
5809ad:	83 c4 04             	add    $0x4,%esp
5809b0:	3b f0                	cmp    %eax,%esi
5809b2:	7c cc                	jl     0x580980
5809b4:	8b 07                	mov    (%edi),%eax
5809b6:	85 c0                	test   %eax,%eax
5809b8:	74 5c                	je     0x580a16
5809ba:	50                   	push   %eax
5809bb:	33 f6                	xor    %esi,%esi
5809bd:	e8 fe 46 f6 ff       	call   0x4e50c0
5809c2:	83 c4 04             	add    $0x4,%esp
5809c5:	85 c0                	test   %eax,%eax
5809c7:	7e 39                	jle    0x580a02
5809c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5809d0:	56                   	push   %esi
5809d1:	ff 37                	push   (%edi)
5809d3:	e8 a8 48 f6 ff       	call   0x4e5280
5809d8:	50                   	push   %eax
5809d9:	e8 22 ec f6 ff       	call   0x4ef600
5809de:	83 c4 0c             	add    $0xc,%esp
5809e1:	3b 44 24 14          	cmp    0x14(%esp),%eax
5809e5:	74 25                	je     0x580a0c
5809e7:	3d 8e 03 00 00       	cmp    $0x38e,%eax
5809ec:	75 05                	jne    0x5809f3
5809ee:	f6 c3 10             	test   $0x10,%bl
5809f1:	75 19                	jne    0x580a0c
5809f3:	ff 37                	push   (%edi)
5809f5:	46                   	inc    %esi
5809f6:	e8 c5 46 f6 ff       	call   0x4e50c0
5809fb:	83 c4 04             	add    $0x4,%esp
5809fe:	3b f0                	cmp    %eax,%esi
580a00:	7c ce                	jl     0x5809d0
580a02:	5f                   	pop    %edi
580a03:	5e                   	pop    %esi
580a04:	5d                   	pop    %ebp
580a05:	b8 02 00 00 00       	mov    $0x2,%eax
580a0a:	5b                   	pop    %ebx
580a0b:	c3                   	ret
580a0c:	5f                   	pop    %edi
580a0d:	5e                   	pop    %esi
580a0e:	5d                   	pop    %ebp
580a0f:	b8 01 00 00 00       	mov    $0x1,%eax
580a14:	5b                   	pop    %ebx
580a15:	c3                   	ret
580a16:	f6 c3 08             	test   $0x8,%bl
580a19:	74 23                	je     0x580a3e
580a1b:	6a 00                	push   $0x0
580a1d:	6a ff                	push   $0xffffffff
580a1f:	55                   	push   %ebp
580a20:	e8 eb ba fd ff       	call   0x55c510
580a25:	83 c4 0c             	add    $0xc,%esp
580a28:	83 f8 01             	cmp    $0x1,%eax
580a2b:	75 11                	jne    0x580a3e
580a2d:	f6 c3 04             	test   $0x4,%bl
580a30:	75 0c                	jne    0x580a3e
580a32:	f7 85 80 00 00 00 00 	testl  $0x2000,0x80(%ebp)
580a39:	20 00 00
580a3c:	75 05                	jne    0x580a43
580a3e:	b8 03 00 00 00       	mov    $0x3,%eax
580a43:	5f                   	pop    %edi
580a44:	5e                   	pop    %esi
580a45:	5d                   	pop    %ebp
580a46:	5b                   	pop    %ebx
580a47:	c3                   	ret
580a48:	cc                   	int3
580a49:	cc                   	int3
580a4a:	cc                   	int3
580a4b:	cc                   	int3
580a4c:	cc                   	int3
580a4d:	cc                   	int3
580a4e:	cc                   	int3
580a4f:	cc                   	int3
580a50:	b8 18 00 00 00       	mov    $0x18,%eax
580a55:	e8 56 0d 05 00       	call   0x5d17b0
580a5a:	56                   	push   %esi
580a5b:	8b 74 24 24          	mov    0x24(%esp),%esi
580a5f:	85 f6                	test   %esi,%esi
580a61:	75 1e                	jne    0x580a81
580a63:	8b 44 24 28          	mov    0x28(%esp),%eax
580a67:	83 c8 08             	or     $0x8,%eax
580a6a:	50                   	push   %eax
580a6b:	ff 74 24 24          	push   0x24(%esp)
580a6f:	68 8e 03 00 00       	push   $0x38e
580a74:	e8 d7 fe ff ff       	call   0x580950
580a79:	83 c4 0c             	add    $0xc,%esp
580a7c:	5e                   	pop    %esi
580a7d:	83 c4 18             	add    $0x18,%esp
580a80:	c3                   	ret
580a81:	8d 46 ff             	lea    -0x1(%esi),%eax
580a84:	83 f8 07             	cmp    $0x7,%eax
580a87:	76 26                	jbe    0x580aaf
580a89:	a1 d4 6b 69 00       	mov    0x696bd4,%eax
580a8e:	85 c0                	test   %eax,%eax
580a90:	0f 84 87 00 00 00    	je     0x580b1d
580a96:	8d 4c 24 04          	lea    0x4(%esp),%ecx
580a9a:	89 74 24 04          	mov    %esi,0x4(%esp)
580a9e:	51                   	push   %ecx
580a9f:	50                   	push   %eax
580aa0:	e8 eb 43 f6 ff       	call   0x4e4e90
580aa5:	83 c4 08             	add    $0x8,%esp
580aa8:	85 c0                	test   %eax,%eax
580aaa:	78 71                	js     0x580b1d
580aac:	83 c0 08             	add    $0x8,%eax
580aaf:	83 f8 ff             	cmp    $0xffffffff,%eax
580ab2:	74 69                	je     0x580b1d
580ab4:	85 c0                	test   %eax,%eax
580ab6:	79 18                	jns    0x580ad0
580ab8:	ff 74 24 28          	push   0x28(%esp)
580abc:	33 c0                	xor    %eax,%eax
580abe:	ff 74 24 24          	push   0x24(%esp)
580ac2:	50                   	push   %eax
580ac3:	8b 40 08             	mov    0x8(%eax),%eax
580ac6:	ff d0                	call   *%eax
580ac8:	83 c4 0c             	add    $0xc,%esp
580acb:	5e                   	pop    %esi
580acc:	83 c4 18             	add    $0x18,%esp
580acf:	c3                   	ret
580ad0:	83 f8 08             	cmp    $0x8,%eax
580ad3:	7d 20                	jge    0x580af5
580ad5:	ff 74 24 28          	push   0x28(%esp)
580ad9:	8d 04 40             	lea    (%eax,%eax,2),%eax
580adc:	ff 74 24 24          	push   0x24(%esp)
580ae0:	8d 04 c5 f8 e5 68 00 	lea    0x68e5f8(,%eax,8),%eax
580ae7:	50                   	push   %eax
580ae8:	8b 40 08             	mov    0x8(%eax),%eax
580aeb:	ff d0                	call   *%eax
580aed:	83 c4 0c             	add    $0xc,%esp
580af0:	5e                   	pop    %esi
580af1:	83 c4 18             	add    $0x18,%esp
580af4:	c3                   	ret
580af5:	83 c0 f8             	add    $0xfffffff8,%eax
580af8:	50                   	push   %eax
580af9:	ff 35 d4 6b 69 00    	push   0x696bd4
580aff:	e8 7c 47 f6 ff       	call   0x4e5280
580b04:	83 c4 08             	add    $0x8,%esp
580b07:	ff 74 24 28          	push   0x28(%esp)
580b0b:	ff 74 24 24          	push   0x24(%esp)
580b0f:	50                   	push   %eax
580b10:	8b 40 08             	mov    0x8(%eax),%eax
580b13:	ff d0                	call   *%eax
580b15:	83 c4 0c             	add    $0xc,%esp
580b18:	5e                   	pop    %esi
580b19:	83 c4 18             	add    $0x18,%esp
580b1c:	c3                   	ret
580b1d:	ff 74 24 28          	push   0x28(%esp)
580b21:	ff 74 24 24          	push   0x24(%esp)
580b25:	56                   	push   %esi
580b26:	ff 15 f0 e5 68 00    	call   *0x68e5f0
580b2c:	83 c4 0c             	add    $0xc,%esp
580b2f:	5e                   	pop    %esi
580b30:	83 c4 18             	add    $0x18,%esp
580b33:	c3                   	ret
580b34:	cc                   	int3
580b35:	cc                   	int3
580b36:	cc                   	int3
580b37:	cc                   	int3
580b38:	cc                   	int3
580b39:	cc                   	int3
580b3a:	cc                   	int3
580b3b:	cc                   	int3
580b3c:	cc                   	int3
580b3d:	cc                   	int3
580b3e:	cc                   	int3
580b3f:	cc                   	int3
580b40:	b8 08 00 00 00       	mov    $0x8,%eax
580b45:	e8 66 0c 05 00       	call   0x5d17b0
580b4a:	e8 51 ac f6 ff       	call   0x4eb7a0
580b4f:	89 04 24             	mov    %eax,(%esp)
580b52:	85 c0                	test   %eax,%eax
580b54:	75 1b                	jne    0x580b71
580b56:	6a 43                	push   $0x43
580b58:	68 5c b9 65 00       	push   $0x65b95c
580b5d:	6a 41                	push   $0x41
580b5f:	6a 65                	push   $0x65
580b61:	6a 22                	push   $0x22
580b63:	e8 18 84 f5 ff       	call   0x4d8f80
580b68:	83 c4 14             	add    $0x14,%esp
580b6b:	33 c0                	xor    %eax,%eax
580b6d:	83 c4 08             	add    $0x8,%esp
580b70:	c3                   	ret
580b71:	53                   	push   %ebx
580b72:	55                   	push   %ebp
580b73:	56                   	push   %esi
580b74:	57                   	push   %edi
580b75:	8b 7c 24 24          	mov    0x24(%esp),%edi
580b79:	33 ed                	xor    %ebp,%ebp
580b7b:	57                   	push   %edi
580b7c:	e8 3f 45 f6 ff       	call   0x4e50c0
580b81:	83 c4 04             	add    $0x4,%esp
580b84:	85 c0                	test   %eax,%eax
580b86:	0f 8e ce 00 00 00    	jle    0x580c5a
580b8c:	0f 1f 40 00          	nopl   0x0(%eax)
580b90:	55                   	push   %ebp
580b91:	57                   	push   %edi
580b92:	e8 e9 46 f6 ff       	call   0x4e5280
580b97:	8b d8                	mov    %eax,%ebx
580b99:	83 c4 08             	add    $0x8,%esp
580b9c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
580ba0:	89 5c 24 14          	mov    %ebx,0x14(%esp)
580ba4:	8b 70 34             	mov    0x34(%eax),%esi
580ba7:	8b 4e 04             	mov    0x4(%esi),%ecx
580baa:	85 c9                	test   %ecx,%ecx
580bac:	0f 84 90 00 00 00    	je     0x580c42
580bb2:	8b 7b 04             	mov    0x4(%ebx),%edi
580bb5:	8b 46 08             	mov    0x8(%esi),%eax
580bb8:	8b d7                	mov    %edi,%edx
580bba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
580bc0:	8a 18                	mov    (%eax),%bl
580bc2:	3a 1a                	cmp    (%edx),%bl
580bc4:	75 1a                	jne    0x580be0
580bc6:	84 db                	test   %bl,%bl
580bc8:	74 12                	je     0x580bdc
580bca:	8a 58 01             	mov    0x1(%eax),%bl
580bcd:	3a 5a 01             	cmp    0x1(%edx),%bl
580bd0:	75 0e                	jne    0x580be0
580bd2:	83 c0 02             	add    $0x2,%eax
580bd5:	83 c2 02             	add    $0x2,%edx
580bd8:	84 db                	test   %bl,%bl
580bda:	75 e4                	jne    0x580bc0
580bdc:	33 c0                	xor    %eax,%eax
580bde:	eb 05                	jmp    0x580be5
580be0:	1b c0                	sbb    %eax,%eax
580be2:	83 c8 01             	or     $0x1,%eax
580be5:	85 c0                	test   %eax,%eax
580be7:	74 3c                	je     0x580c25
580be9:	8b c7                	mov    %edi,%eax
580beb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
580bf0:	8a 11                	mov    (%ecx),%dl
580bf2:	3a 10                	cmp    (%eax),%dl
580bf4:	75 1a                	jne    0x580c10
580bf6:	84 d2                	test   %dl,%dl
580bf8:	74 12                	je     0x580c0c
580bfa:	8a 51 01             	mov    0x1(%ecx),%dl
580bfd:	3a 50 01             	cmp    0x1(%eax),%dl
580c00:	75 0e                	jne    0x580c10
580c02:	83 c1 02             	add    $0x2,%ecx
580c05:	83 c0 02             	add    $0x2,%eax
580c08:	84 d2                	test   %dl,%dl
580c0a:	75 e4                	jne    0x580bf0
580c0c:	33 c0                	xor    %eax,%eax
580c0e:	eb 05                	jmp    0x580c15
580c10:	1b c0                	sbb    %eax,%eax