58e65b:	cc                   	int3
58e65c:	cc                   	int3
58e65d:	cc                   	int3
58e65e:	cc                   	int3
58e65f:	cc                   	int3
58e660:	8b 44 24 08          	mov    0x8(%esp),%eax
58e664:	ff 30                	push   (%eax)
58e666:	ff 74 24 08          	push   0x8(%esp)
58e66a:	e8 91 68 f2 ff       	call   0x4b4f00
58e66f:	83 c4 08             	add    $0x8,%esp
58e672:	85 c0                	test   %eax,%eax
58e674:	75 01                	jne    0x58e677
58e676:	c3                   	ret
58e677:	68 b8 82 6b 00       	push   $0x6b82b8
58e67c:	ff 74 24 08          	push   0x8(%esp)
58e680:	e8 8b 42 f2 ff       	call   0x4b2910
58e685:	33 c9                	xor    %ecx,%ecx
58e687:	83 c4 08             	add    $0x8,%esp
58e68a:	85 c0                	test   %eax,%eax
58e68c:	0f 9f c1             	setg   %cl
58e68f:	8b c1                	mov    %ecx,%eax
58e691:	c3                   	ret
58e692:	cc                   	int3
58e693:	cc                   	int3
58e694:	cc                   	int3
58e695:	cc                   	int3
58e696:	cc                   	int3
58e697:	cc                   	int3
58e698:	cc                   	int3
58e699:	cc                   	int3
58e69a:	cc                   	int3
58e69b:	cc                   	int3
58e69c:	cc                   	int3
58e69d:	cc                   	int3
58e69e:	cc                   	int3
58e69f:	cc                   	int3
58e6a0:	b8 b0 6f 6c 00       	mov    $0x6c6fb0,%eax
58e6a5:	c3                   	ret
58e6a6:	cc                   	int3
58e6a7:	cc                   	int3
58e6a8:	cc                   	int3
58e6a9:	cc                   	int3
58e6aa:	cc                   	int3
58e6ab:	cc                   	int3
58e6ac:	cc                   	int3
58e6ad:	cc                   	int3
58e6ae:	cc                   	int3
58e6af:	cc                   	int3
58e6b0:	b8 cc 6f 6c 00       	mov    $0x6c6fcc,%eax
58e6b5:	c3                   	ret
58e6b6:	cc                   	int3
58e6b7:	cc                   	int3
58e6b8:	cc                   	int3
58e6b9:	cc                   	int3
58e6ba:	cc                   	int3
58e6bb:	cc                   	int3
58e6bc:	cc                   	int3
58e6bd:	cc                   	int3
58e6be:	cc                   	int3
58e6bf:	cc                   	int3
58e6c0:	8b 44 24 08          	mov    0x8(%esp),%eax
58e6c4:	8b 48 14             	mov    0x14(%eax),%ecx
58e6c7:	8b 44 24 04          	mov    0x4(%esp),%eax
58e6cb:	89 08                	mov    %ecx,(%eax)
58e6cd:	b8 01 00 00 00       	mov    $0x1,%eax
58e6d2:	c3                   	ret
58e6d3:	cc                   	int3
58e6d4:	cc                   	int3
58e6d5:	cc                   	int3
58e6d6:	cc                   	int3
58e6d7:	cc                   	int3
58e6d8:	cc                   	int3
58e6d9:	cc                   	int3
58e6da:	cc                   	int3
58e6db:	cc                   	int3
58e6dc:	cc                   	int3
58e6dd:	cc                   	int3
58e6de:	cc                   	int3
58e6df:	cc                   	int3
58e6e0:	8b 44 24 08          	mov    0x8(%esp),%eax
58e6e4:	8b 48 14             	mov    0x14(%eax),%ecx
58e6e7:	8b 44 24 04          	mov    0x4(%esp),%eax
58e6eb:	89 08                	mov    %ecx,(%eax)
58e6ed:	c3                   	ret
58e6ee:	cc                   	int3
58e6ef:	cc                   	int3
58e6f0:	8b 44 24 04          	mov    0x4(%esp),%eax
58e6f4:	56                   	push   %esi
58e6f5:	8b 30                	mov    (%eax),%esi
58e6f7:	8b 44 24 14          	mov    0x14(%esp),%eax
58e6fb:	3b 70 14             	cmp    0x14(%eax),%esi
58e6fe:	75 05                	jne    0x58e705
58e700:	83 c8 ff             	or     $0xffffffff,%eax
58e703:	5e                   	pop    %esi
58e704:	c3                   	ret
58e705:	83 c8 ff             	or     $0xffffffff,%eax
58e708:	53                   	push   %ebx
58e709:	2b c6                	sub    %esi,%eax
58e70b:	8b de                	mov    %esi,%ebx
58e70d:	85 f6                	test   %esi,%esi
58e70f:	57                   	push   %edi
58e710:	0f 48 d8             	cmovs  %eax,%ebx
58e713:	53                   	push   %ebx
58e714:	e8 c7 4c f2 ff       	call   0x4b33e0
58e719:	8b 54 24 18          	mov    0x18(%esp),%edx
58e71d:	83 c4 04             	add    $0x4,%esp
58e720:	a8 07                	test   $0x7,%al
58e722:	b9 00 00 00 00       	mov    $0x0,%ecx
58e727:	0f 94 c1             	sete   %cl
58e72a:	8d 78 07             	lea    0x7(%eax),%edi
58e72d:	c1 ff 03             	sar    $0x3,%edi
58e730:	89 4c 24 10          	mov    %ecx,0x10(%esp)
58e734:	85 d2                	test   %edx,%edx
58e736:	74 32                	je     0x58e76a
58e738:	85 c9                	test   %ecx,%ecx
58e73a:	74 0a                	je     0x58e746
58e73c:	85 f6                	test   %esi,%esi
58e73e:	0f 99 c0             	setns  %al
58e741:	fe c8                	dec    %al
58e743:	88 02                	mov    %al,(%edx)
58e745:	42                   	inc    %edx
58e746:	8d 4f ff             	lea    -0x1(%edi),%ecx
58e749:	85 c9                	test   %ecx,%ecx
58e74b:	78 19                	js     0x58e766
58e74d:	0f 1f 00             	nopl   (%eax)
58e750:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
58e753:	85 f6                	test   %esi,%esi
58e755:	79 07                	jns    0x58e75e
58e757:	8a c3                	mov    %bl,%al
58e759:	f6 d0                	not    %al
58e75b:	88 04 11             	mov    %al,(%ecx,%edx,1)
58e75e:	c1 eb 08             	shr    $0x8,%ebx
58e761:	83 e9 01             	sub    $0x1,%ecx
58e764:	79 ea                	jns    0x58e750
58e766:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58e76a:	8d 04 39             	lea    (%ecx,%edi,1),%eax
58e76d:	5f                   	pop    %edi
58e76e:	5b                   	pop    %ebx
58e76f:	5e                   	pop    %esi
58e770:	c3                   	ret
58e771:	cc                   	int3
58e772:	cc                   	int3
58e773:	cc                   	int3
58e774:	cc                   	int3
58e775:	cc                   	int3
58e776:	cc                   	int3
58e777:	cc                   	int3
58e778:	cc                   	int3
58e779:	cc                   	int3
58e77a:	cc                   	int3
58e77b:	cc                   	int3
58e77c:	cc                   	int3
58e77d:	cc                   	int3
58e77e:	cc                   	int3
58e77f:	cc                   	int3
58e780:	53                   	push   %ebx
58e781:	56                   	push   %esi
58e782:	8b 74 24 10          	mov    0x10(%esp),%esi
58e786:	83 cb ff             	or     $0xffffffff,%ebx
58e789:	57                   	push   %edi
58e78a:	8b 7c 24 18          	mov    0x18(%esp),%edi
58e78e:	85 ff                	test   %edi,%edi
58e790:	74 17                	je     0x58e7a9
58e792:	8a 06                	mov    (%esi),%al
58e794:	84 c0                	test   %al,%al
58e796:	74 0d                	je     0x58e7a5
58e798:	3c ff                	cmp    $0xff,%al
58e79a:	75 0d                	jne    0x58e7a9
58e79c:	46                   	inc    %esi
58e79d:	bb 01 00 00 00       	mov    $0x1,%ebx
58e7a2:	4f                   	dec    %edi
58e7a3:	eb 04                	jmp    0x58e7a9
58e7a5:	46                   	inc    %esi
58e7a6:	4f                   	dec    %edi
58e7a7:	33 db                	xor    %ebx,%ebx
58e7a9:	83 ff 04             	cmp    $0x4,%edi
58e7ac:	7e 24                	jle    0x58e7d2
58e7ae:	68 b7 00 00 00       	push   $0xb7
58e7b3:	68 38 70 6c 00       	push   $0x6c7038
58e7b8:	68 80 00 00 00       	push   $0x80
58e7bd:	68 a6 00 00 00       	push   $0xa6
58e7c2:	6a 0d                	push   $0xd
58e7c4:	e8 d7 2c f1 ff       	call   0x4a14a0
58e7c9:	83 c4 14             	add    $0x14,%esp
58e7cc:	33 c0                	xor    %eax,%eax
58e7ce:	5f                   	pop    %edi
58e7cf:	5e                   	pop    %esi
58e7d0:	5b                   	pop    %ebx
58e7d1:	c3                   	ret
58e7d2:	83 fb ff             	cmp    $0xffffffff,%ebx
58e7d5:	75 12                	jne    0x58e7e9
58e7d7:	85 ff                	test   %edi,%edi
58e7d9:	74 0c                	je     0x58e7e7
58e7db:	f6 06 80             	testb  $0x80,(%esi)
58e7de:	74 07                	je     0x58e7e7
58e7e0:	bb 01 00 00 00       	mov    $0x1,%ebx
58e7e5:	eb 02                	jmp    0x58e7e9
58e7e7:	33 db                	xor    %ebx,%ebx
58e7e9:	33 c9                	xor    %ecx,%ecx
58e7eb:	33 d2                	xor    %edx,%edx
58e7ed:	85 ff                	test   %edi,%edi
58e7ef:	7e 1c                	jle    0x58e80d
58e7f1:	c1 e1 08             	shl    $0x8,%ecx
58e7f4:	85 db                	test   %ebx,%ebx
58e7f6:	74 0a                	je     0x58e802
58e7f8:	8a 04 32             	mov    (%edx,%esi,1),%al
58e7fb:	f6 d0                	not    %al
58e7fd:	0f b6 c0             	movzbl %al,%eax
58e800:	eb 04                	jmp    0x58e806
58e802:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
58e806:	42                   	inc    %edx
58e807:	0b c8                	or     %eax,%ecx
58e809:	3b d7                	cmp    %edi,%edx
58e80b:	7c e4                	jl     0x58e7f1
58e80d:	85 db                	test   %ebx,%ebx
58e80f:	74 07                	je     0x58e818
58e811:	83 c8 ff             	or     $0xffffffff,%eax
58e814:	2b c1                	sub    %ecx,%eax
58e816:	8b c8                	mov    %eax,%ecx
58e818:	8b 44 24 24          	mov    0x24(%esp),%eax
58e81c:	3b 48 14             	cmp    0x14(%eax),%ecx
58e81f:	75 07                	jne    0x58e828
58e821:	68 cf 00 00 00       	push   $0xcf
58e826:	eb 8b                	jmp    0x58e7b3
58e828:	8b 44 24 10          	mov    0x10(%esp),%eax
58e82c:	5f                   	pop    %edi
58e82d:	5e                   	pop    %esi
58e82e:	5b                   	pop    %ebx
58e82f:	89 08                	mov    %ecx,(%eax)
58e831:	b8 01 00 00 00       	mov    $0x1,%eax
58e836:	c3                   	ret
58e837:	cc                   	int3
58e838:	cc                   	int3
58e839:	cc                   	int3
58e83a:	cc                   	int3
58e83b:	cc                   	int3
58e83c:	cc                   	int3
58e83d:	cc                   	int3
58e83e:	cc                   	int3
58e83f:	cc                   	int3
58e840:	8b 44 24 08          	mov    0x8(%esp),%eax
58e844:	ff 30                	push   (%eax)
58e846:	68 50 70 6c 00       	push   $0x6c7050
58e84b:	ff 74 24 0c          	push   0xc(%esp)
58e84f:	e8 7c 06 f2 ff       	call   0x4aeed0
58e854:	83 c4 0c             	add    $0xc,%esp
58e857:	c3                   	ret
58e858:	cc                   	int3
58e859:	cc                   	int3
58e85a:	cc                   	int3
58e85b:	cc                   	int3
58e85c:	cc                   	int3
58e85d:	cc                   	int3
58e85e:	cc                   	int3
58e85f:	cc                   	int3
58e860:	b8 f0 6f 6c 00       	mov    $0x6c6ff0,%eax
58e865:	c3                   	ret
58e866:	cc                   	int3
58e867:	cc                   	int3
58e868:	cc                   	int3
58e869:	cc                   	int3
58e86a:	cc                   	int3
58e86b:	cc                   	int3
58e86c:	cc                   	int3
58e86d:	cc                   	int3
58e86e:	cc                   	int3
58e86f:	cc                   	int3
58e870:	b8 0c 70 6c 00       	mov    $0x6c700c,%eax
58e875:	c3                   	ret
58e876:	cc                   	int3
58e877:	cc                   	int3
58e878:	cc                   	int3
58e879:	cc                   	int3
58e87a:	cc                   	int3
58e87b:	cc                   	int3
58e87c:	cc                   	int3
58e87d:	cc                   	int3
58e87e:	cc                   	int3
58e87f:	cc                   	int3
58e880:	8b 44 24 10          	mov    0x10(%esp),%eax
58e884:	8b 48 3c             	mov    0x3c(%eax),%ecx
58e887:	89 44 24 10          	mov    %eax,0x10(%esp)
58e88b:	8b 41 0c             	mov    0xc(%ecx),%eax
58e88e:	ff e0                	jmp    *%eax
58e890:	b8 14 00 00 00       	mov    $0x14,%eax
58e895:	e8 56 2c 05 00       	call   0x5e14f0
58e89a:	53                   	push   %ebx
58e89b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58e89f:	55                   	push   %ebp
58e8a0:	33 ed                	xor    %ebp,%ebp
58e8a2:	56                   	push   %esi
58e8a3:	57                   	push   %edi
58e8a4:	8d 55 01             	lea    0x1(%ebp),%edx
58e8a7:	39 6b 04             	cmp    %ebp,0x4(%ebx)
58e8aa:	75 42                	jne    0x58e8ee
58e8ac:	68 c7 00 00 00       	push   $0xc7
58e8b1:	68 58 70 6c 00       	push   $0x6c7058
58e8b6:	52                   	push   %edx
58e8b7:	e8 f4 18 f1 ff       	call   0x4a01b0
58e8bc:	8b e8                	mov    %eax,%ebp
58e8be:	83 c4 0c             	add    $0xc,%esp
58e8c1:	85 ed                	test   %ebp,%ebp
58e8c3:	75 11                	jne    0x58e8d6
58e8c5:	68 c9 00 00 00       	push   $0xc9
58e8ca:	68 58 70 6c 00       	push   $0x6c7058
58e8cf:	6a 41                	push   $0x41
58e8d1:	e9 74 01 00 00       	jmp    0x58ea4a
58e8d6:	8b 44 24 30          	mov    0x30(%esp),%eax
58e8da:	5f                   	pop    %edi
58e8db:	c6 45 00 00          	movb   $0x0,0x0(%ebp)
58e8df:	5e                   	pop    %esi
58e8e0:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
58e8e6:	8b c5                	mov    %ebp,%eax
58e8e8:	5d                   	pop    %ebp
58e8e9:	5b                   	pop    %ebx
58e8ea:	83 c4 14             	add    $0x14,%esp
58e8ed:	c3                   	ret
58e8ee:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58e8f2:	8d 41 ff             	lea    -0x1(%ecx),%eax
58e8f5:	83 f8 06             	cmp    $0x6,%eax
58e8f8:	0f 87 40 01 00 00    	ja     0x58ea3e
58e8fe:	8b f2                	mov    %edx,%esi
58e900:	83 c8 ff             	or     $0xffffffff,%eax
58e903:	d3 e6                	shl    %cl,%esi
58e905:	8d 3c 75 ff ff ff ff 	lea    -0x1(,%esi,2),%edi
58e90c:	39 6b 0c             	cmp    %ebp,0xc(%ebx)
58e90f:	89 7c 24 14          	mov    %edi,0x14(%esp)
58e913:	0f 45 d0             	cmovne %eax,%edx
58e916:	89 54 24 18          	mov    %edx,0x18(%esp)
58e91a:	39 2b                	cmp    %ebp,(%ebx)
58e91c:	0f 84 15 01 00 00    	je     0x58ea37
58e922:	53                   	push   %ebx
58e923:	e8 48 4a f2 ff       	call   0x4b3370
58e928:	68 e4 00 00 00       	push   $0xe4
58e92d:	89 44 24 18          	mov    %eax,0x18(%esp)
58e931:	40                   	inc    %eax
58e932:	68 58 70 6c 00       	push   $0x6c7058
58e937:	50                   	push   %eax
58e938:	89 44 24 30          	mov    %eax,0x30(%esp)
58e93c:	e8 6f 18 f1 ff       	call   0x4a01b0
58e941:	8b e8                	mov    %eax,%ebp
58e943:	83 c4 10             	add    $0x10,%esp
58e946:	85 ed                	test   %ebp,%ebp
58e948:	75 11                	jne    0x58e95b
58e94a:	68 e9 00 00 00       	push   $0xe9
58e94f:	68 58 70 6c 00       	push   $0x6c7058
58e954:	6a 41                	push   $0x41
58e956:	e9 ef 00 00 00       	jmp    0x58ea4a
58e95b:	8b 03                	mov    (%ebx),%eax
58e95d:	8b 54 24 2c          	mov    0x2c(%esp),%edx