5876f9:	85 c0                	test   %eax,%eax
5876fb:	0f 8f 0b 01 00 00    	jg     0x58780c
587701:	5d                   	pop    %ebp
587702:	5f                   	pop    %edi
587703:	5b                   	pop    %ebx
587704:	33 c0                	xor    %eax,%eax
587706:	5e                   	pop    %esi
587707:	c3                   	ret
587708:	8b 6c 24 20          	mov    0x20(%esp),%ebp
58770c:	b9 ad 57 6e 00       	mov    $0x6e57ad,%ecx
587711:	b8 fc 37 6c 00       	mov    $0x6c37fc,%eax
587716:	c6 45 00 00          	movb   $0x0,0x0(%ebp)
58771a:	80 3b 2d             	cmpb   $0x2d,(%ebx)
58771d:	0f 45 c1             	cmovne %ecx,%eax
587720:	50                   	push   %eax
587721:	ff 74 24 1c          	push   0x1c(%esp)
587725:	68 50 86 6b 00       	push   $0x6b8650
58772a:	57                   	push   %edi
58772b:	e8 a0 77 f2 ff       	call   0x4aeed0
587730:	83 c4 10             	add    $0x10,%esp
587733:	85 c0                	test   %eax,%eax
587735:	0f 8e ca 00 00 00    	jle    0x587805
58773b:	8d 45 01             	lea    0x1(%ebp),%eax
58773e:	50                   	push   %eax
58773f:	56                   	push   %esi
587740:	89 44 24 24          	mov    %eax,0x24(%esp)
587744:	e8 c7 b5 f2 ff       	call   0x4b2d10
587749:	8b d8                	mov    %eax,%ebx
58774b:	83 c4 08             	add    $0x8,%esp
58774e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
587752:	f6 00 80             	testb  $0x80,(%eax)
587755:	74 03                	je     0x58775a
587757:	43                   	inc    %ebx
587758:	eb 02                	jmp    0x58775c
58775a:	8b e8                	mov    %eax,%ebp
58775c:	33 f6                	xor    %esi,%esi
58775e:	85 db                	test   %ebx,%ebx
587760:	0f 8e 8b 00 00 00    	jle    0x5877f1
587766:	b8 01 00 00 00       	mov    $0x1,%eax
58776b:	2b c5                	sub    %ebp,%eax
58776d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
587771:	b8 89 88 88 88       	mov    $0x88888889,%eax
587776:	f7 ee                	imul   %esi
587778:	03 d6                	add    %esi,%edx
58777a:	c1 fa 03             	sar    $0x3,%edx
58777d:	8b c2                	mov    %edx,%eax
58777f:	c1 e8 1f             	shr    $0x1f,%eax
587782:	03 c2                	add    %edx,%eax
587784:	8b c8                	mov    %eax,%ecx
587786:	c1 e1 04             	shl    $0x4,%ecx
587789:	2b c8                	sub    %eax,%ecx
58778b:	8b c6                	mov    %esi,%eax
58778d:	2b c1                	sub    %ecx,%eax
58778f:	75 2c                	jne    0x5877bd
587791:	68 b8 82 6b 00       	push   $0x6b82b8
587796:	57                   	push   %edi
587797:	e8 74 b1 f2 ff       	call   0x4b2910
58779c:	83 c4 08             	add    $0x8,%esp
58779f:	85 c0                	test   %eax,%eax
5877a1:	7e 62                	jle    0x587805
5877a3:	8b 44 24 24          	mov    0x24(%esp),%eax
5877a7:	68 80 00 00 00       	push   $0x80
5877ac:	83 c0 04             	add    $0x4,%eax
5877af:	50                   	push   %eax
5877b0:	57                   	push   %edi
5877b1:	e8 8a af f2 ff       	call   0x4b2740
5877b6:	83 c4 0c             	add    $0xc,%esp
5877b9:	85 c0                	test   %eax,%eax
5877bb:	74 48                	je     0x587805
5877bd:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5877c1:	8d 14 2e             	lea    (%esi,%ebp,1),%edx
5877c4:	03 c2                	add    %edx,%eax
5877c6:	b9 ad 57 6e 00       	mov    $0x6e57ad,%ecx
5877cb:	3b c3                	cmp    %ebx,%eax
5877cd:	b8 40 d1 6b 00       	mov    $0x6bd140,%eax
5877d2:	0f 45 c8             	cmovne %eax,%ecx
5877d5:	0f b6 02             	movzbl (%edx),%eax
5877d8:	51                   	push   %ecx
5877d9:	50                   	push   %eax
5877da:	68 44 d1 6b 00       	push   $0x6bd144
5877df:	57                   	push   %edi
5877e0:	e8 eb 76 f2 ff       	call   0x4aeed0
5877e5:	83 c4 10             	add    $0x10,%esp
5877e8:	85 c0                	test   %eax,%eax
5877ea:	7e 19                	jle    0x587805
5877ec:	46                   	inc    %esi
5877ed:	3b f3                	cmp    %ebx,%esi
5877ef:	7c 80                	jl     0x587771
5877f1:	6a 01                	push   $0x1
5877f3:	68 b8 82 6b 00       	push   $0x6b82b8
5877f8:	57                   	push   %edi
5877f9:	e8 52 b3 f2 ff       	call   0x4b2b50
5877fe:	83 c4 0c             	add    $0xc,%esp
587801:	85 c0                	test   %eax,%eax
587803:	7f 07                	jg     0x58780c
587805:	5d                   	pop    %ebp
587806:	5f                   	pop    %edi
587807:	5b                   	pop    %ebx
587808:	33 c0                	xor    %eax,%eax
58780a:	5e                   	pop    %esi
58780b:	c3                   	ret
58780c:	5d                   	pop    %ebp
58780d:	5f                   	pop    %edi
58780e:	5b                   	pop    %ebx
58780f:	b8 01 00 00 00       	mov    $0x1,%eax
587814:	5e                   	pop    %esi
587815:	c3                   	ret
587816:	cc                   	int3
587817:	cc                   	int3
587818:	cc                   	int3
587819:	cc                   	int3
58781a:	cc                   	int3
58781b:	cc                   	int3
58781c:	cc                   	int3
58781d:	cc                   	int3
58781e:	cc                   	int3
58781f:	cc                   	int3
587820:	56                   	push   %esi
587821:	57                   	push   %edi
587822:	8b 7c 24 14          	mov    0x14(%esp),%edi
587826:	85 ff                	test   %edi,%edi
587828:	74 06                	je     0x587830
58782a:	8b 37                	mov    (%edi),%esi
58782c:	85 f6                	test   %esi,%esi
58782e:	75 31                	jne    0x587861
587830:	e8 7b a1 f2 ff       	call   0x4b19b0
587835:	8b f0                	mov    %eax,%esi
587837:	85 f6                	test   %esi,%esi
587839:	75 20                	jne    0x58785b
58783b:	68 ac 00 00 00       	push   $0xac
587840:	68 08 38 6c 00       	push   $0x6c3808
587845:	6a 41                	push   $0x41
587847:	68 c6 00 00 00       	push   $0xc6
58784c:	6a 0d                	push   $0xd
58784e:	e8 4d 9c f1 ff       	call   0x4a14a0
587853:	83 c4 14             	add    $0x14,%esp
587856:	33 c0                	xor    %eax,%eax
587858:	5f                   	pop    %edi
587859:	5e                   	pop    %esi
58785a:	c3                   	ret
58785b:	85 ff                	test   %edi,%edi
58785d:	74 02                	je     0x587861
58785f:	89 37                	mov    %esi,(%edi)
587861:	8b 46 08             	mov    0x8(%esi),%eax
587864:	8d 7e 08             	lea    0x8(%esi),%edi
587867:	85 c0                	test   %eax,%eax
587869:	74 0f                	je     0x58787a
58786b:	50                   	push   %eax
58786c:	e8 bf 88 f1 ff       	call   0x4a0130
587871:	83 c4 04             	add    $0x4,%esp
587874:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
58787a:	ff 74 24 10          	push   0x10(%esp)
58787e:	57                   	push   %edi
58787f:	ff 74 24 14          	push   0x14(%esp)
587883:	e8 78 63 f4 ff       	call   0x4cdc00
587888:	83 c4 0c             	add    $0xc,%esp
58788b:	89 06                	mov    %eax,(%esi)
58788d:	85 c0                	test   %eax,%eax
58788f:	75 20                	jne    0x5878b1
587891:	68 ba 00 00 00       	push   $0xba
587896:	68 08 38 6c 00       	push   $0x6c3808
58789b:	6a 70                	push   $0x70
58789d:	68 c6 00 00 00       	push   $0xc6
5878a2:	6a 0d                	push   $0xd
5878a4:	e8 f7 9b f1 ff       	call   0x4a14a0
5878a9:	83 c4 14             	add    $0x14,%esp
5878ac:	33 c0                	xor    %eax,%eax
5878ae:	5f                   	pop    %edi
5878af:	5e                   	pop    %esi
5878b0:	c3                   	ret
5878b1:	83 3f 00             	cmpl   $0x0,(%edi)
5878b4:	75 07                	jne    0x5878bd
5878b6:	68 be 00 00 00       	push   $0xbe
5878bb:	eb 83                	jmp    0x587840
5878bd:	5f                   	pop    %edi
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