58057e:	89 45 f0             	mov    %eax,-0x10(%ebp)
580581:	50                   	push   %eax
580582:	8d 45 f4             	lea    -0xc(%ebp),%eax
580585:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58058b:	8b 45 08             	mov    0x8(%ebp),%eax
58058e:	85 c0                	test   %eax,%eax
580590:	78 21                	js     0x5805b3
580592:	50                   	push   %eax
580593:	e8 68 00 00 00       	call   0x580600
580598:	8b 4d f4             	mov    -0xc(%ebp),%ecx
58059b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5805a2:	59                   	pop    %ecx
5805a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5805a6:	33 cd                	xor    %ebp,%ecx
5805a8:	e8 2d 0f 06 00       	call   0x5e14da
5805ad:	8b e5                	mov    %ebp,%esp
5805af:	5d                   	pop    %ebp
5805b0:	c2 04 00             	ret    $0x4
5805b3:	6a 01                	push   $0x1
5805b5:	6a 02                	push   $0x2
5805b7:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
5805bd:	e8 6e e7 ff ff       	call   0x57ed30
5805c2:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
5805c8:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5805cf:	68 60 33 6c 00       	push   $0x6c3360
5805d4:	50                   	push   %eax
5805d5:	e8 e6 ac f1 ff       	call   0x49b2c0
5805da:	83 c4 08             	add    $0x8,%esp
5805dd:	8d 45 d8             	lea    -0x28(%ebp),%eax
5805e0:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
5805e6:	50                   	push   %eax
5805e7:	e8 c4 e8 ff ff       	call   0x57eeb0
5805ec:	50                   	push   %eax
5805ed:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5805f1:	e8 ca 1a 00 00       	call   0x5820c0
5805f6:	cc                   	int3
5805f7:	cc                   	int3
5805f8:	cc                   	int3
5805f9:	cc                   	int3
5805fa:	cc                   	int3
5805fb:	cc                   	int3
5805fc:	cc                   	int3
5805fd:	cc                   	int3
5805fe:	cc                   	int3
5805ff:	cc                   	int3
580600:	55                   	push   %ebp
580601:	8b ec                	mov    %esp,%ebp
580603:	6a ff                	push   $0xffffffff
580605:	68 5b cb 65 00       	push   $0x65cb5b
58060a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
580610:	50                   	push   %eax
580611:	81 ec bc 00 00 00    	sub    $0xbc,%esp
580617:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58061c:	33 c5                	xor    %ebp,%eax
58061e:	89 45 f0             	mov    %eax,-0x10(%ebp)
580621:	53                   	push   %ebx
580622:	56                   	push   %esi
580623:	57                   	push   %edi
580624:	50                   	push   %eax
580625:	8d 45 f4             	lea    -0xc(%ebp),%eax
580628:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58062e:	8b f1                	mov    %ecx,%esi
580630:	8a 46 08             	mov    0x8(%esi),%al
580633:	8b 5d 08             	mov    0x8(%ebp),%ebx
580636:	84 c0                	test   %al,%al
580638:	74 41                	je     0x58067b
58063a:	3c 06                	cmp    $0x6,%al
58063c:	75 60                	jne    0x58069e
58063e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
580645:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
580648:	8b 3e                	mov    (%esi),%edi
58064a:	8d 45 d0             	lea    -0x30(%ebp),%eax
58064d:	50                   	push   %eax
58064e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
580651:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
580658:	50                   	push   %eax
580659:	8b cf                	mov    %edi,%ecx
58065b:	e8 60 ef ff ff       	call   0x57f5c0
580660:	8b 4d ec             	mov    -0x14(%ebp),%ecx
580663:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
580667:	75 05                	jne    0x58066e
580669:	3b 59 14             	cmp    0x14(%ecx),%ebx
58066c:	73 02                	jae    0x580670
58066e:	8b 0f                	mov    (%edi),%ecx
580670:	8b 06                	mov    (%esi),%eax
580672:	3b 08                	cmp    (%eax),%ecx
580674:	74 05                	je     0x58067b
580676:	8d 41 18             	lea    0x18(%ecx),%eax
580679:	eb 05                	jmp    0x580680
58067b:	e8 90 12 00 00       	call   0x581910
580680:	8b 4d f4             	mov    -0xc(%ebp),%ecx
580683:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
58068a:	59                   	pop    %ecx
58068b:	5f                   	pop    %edi
58068c:	5e                   	pop    %esi
58068d:	5b                   	pop    %ebx
58068e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
580691:	33 cd                	xor    %ebp,%ecx
580693:	e8 42 0e 06 00       	call   0x5e14da
580698:	8b e5                	mov    %ebp,%esp
58069a:	5d                   	pop    %ebp
58069b:	c2 04 00             	ret    $0x4
58069e:	6a 01                	push   $0x1
5806a0:	6a 02                	push   $0x2
5806a2:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
5806a8:	e8 83 e6 ff ff       	call   0x57ed30
5806ad:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
5806b3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5806ba:	68 18 33 6c 00       	push   $0x6c3318
5806bf:	50                   	push   %eax
5806c0:	e8 fb ab f1 ff       	call   0x49b2c0
5806c5:	83 c4 08             	add    $0x8,%esp
5806c8:	8d 45 d8             	lea    -0x28(%ebp),%eax
5806cb:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
5806d1:	50                   	push   %eax
5806d2:	e8 d9 e7 ff ff       	call   0x57eeb0
5806d7:	50                   	push   %eax
5806d8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5806dc:	e8 df 19 00 00       	call   0x5820c0
5806e1:	cc                   	int3
5806e2:	cc                   	int3
5806e3:	cc                   	int3
5806e4:	cc                   	int3
5806e5:	cc                   	int3
5806e6:	cc                   	int3
5806e7:	cc                   	int3
5806e8:	cc                   	int3
5806e9:	cc                   	int3
5806ea:	cc                   	int3
5806eb:	cc                   	int3
5806ec:	cc                   	int3
5806ed:	cc                   	int3
5806ee:	cc                   	int3
5806ef:	cc                   	int3
5806f0:	55                   	push   %ebp
5806f1:	8b ec                	mov    %esp,%ebp
5806f3:	8b 55 08             	mov    0x8(%ebp),%edx
5806f6:	8b c2                	mov    %edx,%eax
5806f8:	56                   	push   %esi
5806f9:	57                   	push   %edi
5806fa:	8b f1                	mov    %ecx,%esi
5806fc:	8d 78 01             	lea    0x1(%eax),%edi
5806ff:	90                   	nop
580700:	8a 08                	mov    (%eax),%cl
580702:	40                   	inc    %eax
580703:	84 c9                	test   %cl,%cl
580705:	75 f9                	jne    0x580700
580707:	2b c7                	sub    %edi,%eax
580709:	8b ce                	mov    %esi,%ecx
58070b:	03 c2                	add    %edx,%eax
58070d:	50                   	push   %eax
58070e:	52                   	push   %edx
58070f:	e8 9c 0d 00 00       	call   0x5814b0
580714:	5f                   	pop    %edi
580715:	5e                   	pop    %esi
580716:	85 c0                	test   %eax,%eax
580718:	75 05                	jne    0x58071f
58071a:	e8 f1 11 00 00       	call   0x581910
58071f:	5d                   	pop    %ebp
580720:	c2 04 00             	ret    $0x4
580723:	cc                   	int3
580724:	cc                   	int3
580725:	cc                   	int3
580726:	cc                   	int3
580727:	cc                   	int3
580728:	cc                   	int3
580729:	cc                   	int3
58072a:	cc                   	int3
58072b:	cc                   	int3
58072c:	cc                   	int3
58072d:	cc                   	int3
58072e:	cc                   	int3
58072f:	cc                   	int3
580730:	55                   	push   %ebp
580731:	8b ec                	mov    %esp,%ebp
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