580733:	51                   	push   %ecx
580734:	56                   	push   %esi
580735:	8b f1                	mov    %ecx,%esi
580737:	8b 16                	mov    (%esi),%edx
580739:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
58073d:	74 0c                	je     0x58074b
58073f:	8b 42 08             	mov    0x8(%edx),%eax
580742:	89 06                	mov    %eax,(%esi)
580744:	8b c6                	mov    %esi,%eax
580746:	5e                   	pop    %esi
580747:	8b e5                	mov    %ebp,%esp
580749:	5d                   	pop    %ebp
58074a:	c3                   	ret
58074b:	8b 0a                	mov    (%edx),%ecx
58074d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
580751:	74 3c                	je     0x58078f
580753:	8b 42 04             	mov    0x4(%edx),%eax
580756:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
58075a:	75 24                	jne    0x580780
58075c:	57                   	push   %edi
58075d:	8b ca                	mov    %edx,%ecx
58075f:	8b fa                	mov    %edx,%edi
580761:	53                   	push   %ebx
580762:	8b d8                	mov    %eax,%ebx
580764:	89 45 fc             	mov    %eax,-0x4(%ebp)
580767:	8b d7                	mov    %edi,%edx
580769:	3b 08                	cmp    (%eax),%ecx
58076b:	75 11                	jne    0x58077e
58076d:	89 06                	mov    %eax,(%esi)
58076f:	8b c8                	mov    %eax,%ecx
580771:	8b 40 04             	mov    0x4(%eax),%eax
580774:	8b f9                	mov    %ecx,%edi
580776:	8b d3                	mov    %ebx,%edx
580778:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
58077c:	74 e4                	je     0x580762
58077e:	5b                   	pop    %ebx
58077f:	5f                   	pop    %edi
580780:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
580784:	75 27                	jne    0x5807ad
580786:	89 06                	mov    %eax,(%esi)
580788:	8b c6                	mov    %esi,%eax
58078a:	5e                   	pop    %esi
58078b:	8b e5                	mov    %ebp,%esp
58078d:	5d                   	pop    %ebp
58078e:	c3                   	ret
58078f:	8b 41 08             	mov    0x8(%ecx),%eax
580792:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
580796:	75 13                	jne    0x5807ab
580798:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
58079f:	00
5807a0:	8b c8                	mov    %eax,%ecx
5807a2:	8b 41 08             	mov    0x8(%ecx),%eax
5807a5:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
5807a9:	74 f5                	je     0x5807a0
5807ab:	89 0e                	mov    %ecx,(%esi)
5807ad:	8b c6                	mov    %esi,%eax
5807af:	5e                   	pop    %esi
5807b0:	8b e5                	mov    %ebp,%esp
5807b2:	5d                   	pop    %ebp
5807b3:	c3                   	ret
5807b4:	cc                   	int3
5807b5:	cc                   	int3
5807b6:	cc                   	int3
5807b7:	cc                   	int3
5807b8:	cc                   	int3
5807b9:	cc                   	int3
5807ba:	cc                   	int3
5807bb:	cc                   	int3
5807bc:	cc                   	int3
5807bd:	cc                   	int3
5807be:	cc                   	int3
5807bf:	cc                   	int3
5807c0:	55                   	push   %ebp
5807c1:	8b ec                	mov    %esp,%ebp
5807c3:	6a ff                	push   $0xffffffff
5807c5:	68 08 d7 64 00       	push   $0x64d708
5807ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5807d0:	50                   	push   %eax
5807d1:	83 ec 1c             	sub    $0x1c,%esp
5807d4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5807d9:	33 c5                	xor    %ebp,%eax
5807db:	89 45 f0             	mov    %eax,-0x10(%ebp)
5807de:	53                   	push   %ebx
5807df:	56                   	push   %esi
5807e0:	57                   	push   %edi
5807e1:	50                   	push   %eax
5807e2:	8d 45 f4             	lea    -0xc(%ebp),%eax
5807e5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5807eb:	8b 11                	mov    (%ecx),%edx
5807ed:	8b 79 04             	mov    0x4(%ecx),%edi
5807f0:	8b 4d 08             	mov    0x8(%ebp),%ecx
5807f3:	8b 59 04             	mov    0x4(%ecx),%ebx
5807f6:	85 d2                	test   %edx,%edx
5807f8:	75 23                	jne    0x58081d
5807fa:	3b fb                	cmp    %ebx,%edi
5807fc:	0f 92 c0             	setb   %al
5807ff:	8b 4d f4             	mov    -0xc(%ebp),%ecx
580802:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
580809:	59                   	pop    %ecx
58080a:	5f                   	pop    %edi
58080b:	5e                   	pop    %esi
58080c:	5b                   	pop    %ebx
58080d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
580810:	33 cd                	xor    %ebp,%ecx
580812:	e8 c3 0c 06 00       	call   0x5e14da
580817:	8b e5                	mov    %ebp,%esp
580819:	5d                   	pop    %ebp
58081a:	c2 04 00             	ret    $0x4
58081d:	8b 09                	mov    (%ecx),%ecx
58081f:	c1 ef 02             	shr    $0x2,%edi
580822:	c1 eb 02             	shr    $0x2,%ebx
580825:	3b df                	cmp    %edi,%ebx
580827:	8b f3                	mov    %ebx,%esi
580829:	0f 43 f7             	cmovae %edi,%esi
58082c:	85 c9                	test   %ecx,%ecx
58082e:	74 69                	je     0x580899
580830:	83 ee 04             	sub    $0x4,%esi
580833:	72 11                	jb     0x580846
580835:	8b 02                	mov    (%edx),%eax
580837:	3b 01                	cmp    (%ecx),%eax
580839:	75 10                	jne    0x58084b
58083b:	83 c2 04             	add    $0x4,%edx
58083e:	83 c1 04             	add    $0x4,%ecx
580841:	83 ee 04             	sub    $0x4,%esi
580844:	73 ef                	jae    0x580835
580846:	83 fe fc             	cmp    $0xfffffffc,%esi
580849:	74 34                	je     0x58087f
58084b:	8a 02                	mov    (%edx),%al
58084d:	3a 01                	cmp    (%ecx),%al
58084f:	75 27                	jne    0x580878
580851:	83 fe fd             	cmp    $0xfffffffd,%esi
580854:	74 29                	je     0x58087f
580856:	8a 42 01             	mov    0x1(%edx),%al
580859:	3a 41 01             	cmp    0x1(%ecx),%al
58085c:	75 1a                	jne    0x580878
58085e:	83 fe fe             	cmp    $0xfffffffe,%esi
580861:	74 1c                	je     0x58087f
580863:	8a 42 02             	mov    0x2(%edx),%al
580866:	3a 41 02             	cmp    0x2(%ecx),%al
580869:	75 0d                	jne    0x580878
58086b:	83 fe ff             	cmp    $0xffffffff,%esi
58086e:	74 0f                	je     0x58087f
580870:	8a 42 03             	mov    0x3(%edx),%al
580873:	3a 41 03             	cmp    0x3(%ecx),%al
580876:	74 07                	je     0x58087f
580878:	1b c0                	sbb    %eax,%eax
58087a:	83 c8 01             	or     $0x1,%eax
58087d:	eb 02                	jmp    0x580881
58087f:	33 c0                	xor    %eax,%eax
580881:	85 c0                	test   %eax,%eax
580883:	79 07                	jns    0x58088c
580885:	b0 01                	mov    $0x1,%al
580887:	e9 73 ff ff ff       	jmp    0x5807ff
58088c:	0f 8e 68 ff ff ff    	jle    0x5807fa
580892:	32 c0                	xor    %al,%al
580894:	e9 66 ff ff ff       	jmp    0x5807ff
580899:	68 88 30 6c 00       	push   $0x6c3088
58089e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5808a1:	e8 ca 91 ee ff       	call   0x469a70
5808a6:	8d 45 d8             	lea    -0x28(%ebp),%eax
5808a9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5808b0:	50                   	push   %eax
5808b1:	e8 0a 18 00 00       	call   0x5820c0
5808b6:	cc                   	int3
5808b7:	cc                   	int3
5808b8:	cc                   	int3
5808b9:	cc                   	int3
5808ba:	cc                   	int3
5808bb:	cc                   	int3
5808bc:	cc                   	int3
5808bd:	cc                   	int3
5808be:	cc                   	int3
5808bf:	cc                   	int3
5808c0:	55                   	push   %ebp
5808c1:	8b ec                	mov    %esp,%ebp
5808c3:	56                   	push   %esi
5808c4:	8b f1                	mov    %ecx,%esi
5808c6:	e8 35 f7 ff ff       	call   0x580000
5808cb:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
5808cf:	74 0b                	je     0x5808dc
5808d1:	6a 24                	push   $0x24
5808d3:	56                   	push   %esi
5808d4:	e8 99 07 06 00       	call   0x5e1072
5808d9:	83 c4 08             	add    $0x8,%esp
5808dc:	8b c6                	mov    %esi,%eax
5808de:	5e                   	pop    %esi
5808df:	5d                   	pop    %ebp
5808e0:	c2 04 00             	ret    $0x4
5808e3:	cc                   	int3
5808e4:	cc                   	int3
5808e5:	cc                   	int3
5808e6:	cc                   	int3
5808e7:	cc                   	int3
5808e8:	cc                   	int3
5808e9:	cc                   	int3
5808ea:	cc                   	int3
5808eb:	cc                   	int3
5808ec:	cc                   	int3
5808ed:	cc                   	int3
5808ee:	cc                   	int3
5808ef:	cc                   	int3
5808f0:	55                   	push   %ebp
5808f1:	8b ec                	mov    %esp,%ebp
5808f3:	83 ec 08             	sub    $0x8,%esp
5808f6:	f2 0f 10 45 08       	movsd  0x8(%ebp),%xmm0
5808fb:	8d 45 f8             	lea    -0x8(%ebp),%eax
5808fe:	50                   	push   %eax
5808ff:	83 ec 08             	sub    $0x8,%esp
580902:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
580907:	e8 74 f4 07 00       	call   0x5ffd80
58090c:	dd 5d f8             	fstpl  -0x8(%ebp)
58090f:	f2 0f 10 45 f8       	movsd  -0x8(%ebp),%xmm0
580914:	83 c4 0c             	add    $0xc,%esp
580917:	66 0f 2e 05 40 c5 6b 	ucomisd 0x6bc540,%xmm0
58091e:	00
58091f:	9f                   	lahf
580920:	f6 c4 44             	test   $0x44,%ah
580923:	7a 06                	jp     0x58092b
580925:	b0 01                	mov    $0x1,%al
580927:	8b e5                	mov    %ebp,%esp
580929:	5d                   	pop    %ebp
58092a:	c3                   	ret
58092b:	32 c0                	xor    %al,%al
58092d:	8b e5                	mov    %ebp,%esp
58092f:	5d                   	pop    %ebp
580930:	c3                   	ret
580931:	cc                   	int3
580932:	cc                   	int3
580933:	cc                   	int3
580934:	cc                   	int3
580935:	cc                   	int3
580936:	cc                   	int3
580937:	cc                   	int3
580938:	cc                   	int3
580939:	cc                   	int3
58093a:	cc                   	int3
58093b:	cc                   	int3
58093c:	cc                   	int3
58093d:	cc                   	int3
58093e:	cc                   	int3
58093f:	cc                   	int3
580940:	55                   	push   %ebp
580941:	8b ec                	mov    %esp,%ebp
580943:	51                   	push   %ecx
580944:	8b 51 04             	mov    0x4(%ecx),%edx
580947:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
58094c:	2b 11                	sub    (%ecx),%edx
58094e:	f7 ea                	imul   %edx
580950:	53                   	push   %ebx
580951:	c1 fa 02             	sar    $0x2,%edx
580954:	56                   	push   %esi
580955:	ff 75 08             	push   0x8(%ebp)
580958:	8b da                	mov    %edx,%ebx
58095a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
58095d:	c1 eb 1f             	shr    $0x1f,%ebx
580960:	03 da                	add    %edx,%ebx
580962:	e8 f9 46 ec ff       	call   0x445060
580967:	8b f0                	mov    %eax,%esi
580969:	8b 45 fc             	mov    -0x4(%ebp),%eax
58096c:	50                   	push   %eax
58096d:	56                   	push   %esi
58096e:	ff 70 04             	push   0x4(%eax)
580971:	ff 30                	push   (%eax)
580973:	e8 a8 3d ec ff       	call   0x444720
580978:	8b 4d fc             	mov    -0x4(%ebp),%ecx
58097b:	83 c4 10             	add    $0x10,%esp
58097e:	ff 75 08             	push   0x8(%ebp)
580981:	53                   	push   %ebx
580982:	56                   	push   %esi
580983:	e8 48 3a ed ff       	call   0x4543d0
580988:	5e                   	pop    %esi
580989:	5b                   	pop    %ebx
58098a:	8b e5                	mov    %ebp,%esp
58098c:	5d                   	pop    %ebp
58098d:	c2 04 00             	ret    $0x4
580990:	55                   	push   %ebp
580991:	8b ec                	mov    %esp,%ebp
580993:	6a ff                	push   $0xffffffff
580995:	68 98 cb 65 00       	push   $0x65cb98
58099a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5809a0:	50                   	push   %eax
5809a1:	83 ec 18             	sub    $0x18,%esp
5809a4:	56                   	push   %esi
5809a5:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5809aa:	33 c5                	xor    %ebp,%eax
5809ac:	50                   	push   %eax
5809ad:	8d 45 f4             	lea    -0xc(%ebp),%eax
5809b0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5809b6:	8b f1                	mov    %ecx,%esi
5809b8:	ff 75 08             	push   0x8(%ebp)
5809bb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5809be:	e8 dd f0 ff ff       	call   0x57faa0
5809c3:	8b ce                	mov    %esi,%ecx
5809c5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5809cc:	e8 af 15 00 00       	call   0x581f80
5809d1:	50                   	push   %eax
5809d2:	8b ce                	mov    %esi,%ecx
5809d4:	e8 57 f9 ff ff       	call   0x580330
5809d9:	8b f0                	mov    %eax,%esi
5809db:	8d 45 dc             	lea    -0x24(%ebp),%eax
5809de:	50                   	push   %eax
5809df:	8b ce                	mov    %esi,%ecx
5809e1:	e8 0a 16 00 00       	call   0x581ff0
5809e6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5809e9:	e8 92 f6 ff ff       	call   0x580080
5809ee:	8b c6                	mov    %esi,%eax
5809f0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5809f3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5809fa:	59                   	pop    %ecx
5809fb:	5e                   	pop    %esi
5809fc:	8b e5                	mov    %ebp,%esp
5809fe:	5d                   	pop    %ebp
5809ff:	c2 04 00             	ret    $0x4
580a02:	cc                   	int3
580a03:	cc                   	int3
580a04:	cc                   	int3
580a05:	cc                   	int3
580a06:	cc                   	int3
580a07:	cc                   	int3
580a08:	cc                   	int3
580a09:	cc                   	int3
580a0a:	cc                   	int3
580a0b:	cc                   	int3
580a0c:	cc                   	int3
580a0d:	cc                   	int3
580a0e:	cc                   	int3
580a0f:	cc                   	int3
580a10:	55                   	push   %ebp
580a11:	8b ec                	mov    %esp,%ebp
580a13:	6a ff                	push   $0xffffffff
580a15:	68 a3 ca 65 00       	push   $0x65caa3
580a1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
580a20:	50                   	push   %eax
580a21:	81 ec b4 00 00 00    	sub    $0xb4,%esp
580a27:	a1 d4 89 72 00       	mov    0x7289d4,%eax
580a2c:	33 c5                	xor    %ebp,%eax
580a2e:	89 45 f0             	mov    %eax,-0x10(%ebp)
580a31:	50                   	push   %eax
580a32:	8d 45 f4             	lea    -0xc(%ebp),%eax
580a35:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
580a3b:	0f be 41 08          	movsbl 0x8(%ecx),%eax
580a3f:	83 f8 05             	cmp    $0x5,%eax
580a42:	77 45                	ja     0x580a89
580a44:	ff 24 85 cc 0a 58 00 	jmp    *0x580acc(,%eax,4)
580a4b:	8a 01                	mov    (%ecx),%al
580a4d:	eb 0d                	jmp    0x580a5c
580a4f:	32 c0                	xor    %al,%al
580a51:	eb 09                	jmp    0x580a5c
580a53:	8b 01                	mov    (%ecx),%eax
580a55:	0b 41 04             	or     0x4(%ecx),%eax