58e4e1:	51                   	push   %ecx
58e4e2:	ff 74 24 24          	push   0x24(%esp)
58e4e6:	56                   	push   %esi
58e4e7:	e8 b4 08 fe ff       	call   0x56eda0
58e4ec:	83 c4 14             	add    $0x14,%esp
58e4ef:	85 c0                	test   %eax,%eax
58e4f1:	74 1a                	je     0x58e50d
58e4f3:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
58e4f7:	75 0c                	jne    0x58e505
58e4f9:	8b 06                	mov    (%esi),%eax
58e4fb:	83 38 01             	cmpl   $0x1,(%eax)
58e4fe:	75 05                	jne    0x58e505
58e500:	39 6e 0c             	cmp    %ebp,0xc(%esi)
58e503:	74 03                	je     0x58e508
58e505:	83 0f 04             	orl    $0x4,(%edi)
58e508:	bd 01 00 00 00       	mov    $0x1,%ebp
58e50d:	53                   	push   %ebx
58e50e:	e8 3d 98 f4 ff       	call   0x4d7d50
58e513:	53                   	push   %ebx
58e514:	e8 77 98 f4 ff       	call   0x4d7d90
58e519:	83 c4 08             	add    $0x8,%esp
58e51c:	5e                   	pop    %esi
58e51d:	5f                   	pop    %edi
58e51e:	8b c5                	mov    %ebp,%eax
58e520:	5d                   	pop    %ebp
58e521:	5b                   	pop    %ebx
58e522:	c3                   	ret
58e523:	cc                   	int3
58e524:	cc                   	int3
58e525:	cc                   	int3
58e526:	cc                   	int3
58e527:	cc                   	int3
58e528:	cc                   	int3
58e529:	cc                   	int3
58e52a:	cc                   	int3
58e52b:	cc                   	int3
58e52c:	cc                   	int3
58e52d:	cc                   	int3
58e52e:	cc                   	int3
58e52f:	cc                   	int3
58e530:	e8 db 4d f2 ff       	call   0x4b3310
58e535:	8b 4c 24 04          	mov    0x4(%esp),%ecx
58e539:	8b d0                	mov    %eax,%edx
58e53b:	33 c0                	xor    %eax,%eax
58e53d:	85 d2                	test   %edx,%edx
58e53f:	0f 95 c0             	setne  %al
58e542:	89 11                	mov    %edx,(%ecx)
58e544:	c3                   	ret
58e545:	cc                   	int3
58e546:	cc                   	int3
58e547:	cc                   	int3
58e548:	cc                   	int3
58e549:	cc                   	int3
58e54a:	cc                   	int3
58e54b:	cc                   	int3
58e54c:	cc                   	int3
58e54d:	cc                   	int3
58e54e:	cc                   	int3
58e54f:	cc                   	int3
58e550:	56                   	push   %esi
58e551:	8b 74 24 08          	mov    0x8(%esp),%esi
58e555:	8b 0e                	mov    (%esi),%ecx
58e557:	85 c9                	test   %ecx,%ecx
58e559:	74 29                	je     0x58e584
58e55b:	8b 44 24 0c          	mov    0xc(%esp),%eax
58e55f:	51                   	push   %ecx
58e560:	f6 40 14 01          	testb  $0x1,0x14(%eax)
58e564:	74 10                	je     0x58e576
58e566:	e8 05 48 f2 ff       	call   0x4b2d70
58e56b:	83 c4 04             	add    $0x4,%esp
58e56e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
58e574:	5e                   	pop    %esi
58e575:	c3                   	ret
58e576:	e8 65 4c f2 ff       	call   0x4b31e0
58e57b:	83 c4 04             	add    $0x4,%esp
58e57e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
58e584:	5e                   	pop    %esi
58e585:	c3                   	ret
58e586:	cc                   	int3
58e587:	cc                   	int3
58e588:	cc                   	int3
58e589:	cc                   	int3
58e58a:	cc                   	int3
58e58b:	cc                   	int3
58e58c:	cc                   	int3
58e58d:	cc                   	int3
58e58e:	cc                   	int3
58e58f:	cc                   	int3
58e590:	8b 44 24 04          	mov    0x4(%esp),%eax
58e594:	56                   	push   %esi
58e595:	8b 30                	mov    (%eax),%esi
58e597:	85 f6                	test   %esi,%esi
58e599:	75 05                	jne    0x58e5a0
58e59b:	83 c8 ff             	or     $0xffffffff,%eax
58e59e:	5e                   	pop    %esi
58e59f:	c3                   	ret
58e5a0:	53                   	push   %ebx
58e5a1:	56                   	push   %esi
58e5a2:	e8 c9 4d f2 ff       	call   0x4b3370
58e5a7:	83 c4 04             	add    $0x4,%esp
58e5aa:	bb 00 00 00 00       	mov    $0x0,%ebx
58e5af:	a8 07                	test   $0x7,%al
58e5b1:	8b 44 24 10          	mov    0x10(%esp),%eax
58e5b5:	0f 94 c3             	sete   %bl
58e5b8:	85 c0                	test   %eax,%eax
58e5ba:	74 12                	je     0x58e5ce
58e5bc:	85 db                	test   %ebx,%ebx
58e5be:	74 04                	je     0x58e5c4
58e5c0:	c6 00 00             	movb   $0x0,(%eax)
58e5c3:	40                   	inc    %eax
58e5c4:	50                   	push   %eax
58e5c5:	56                   	push   %esi
58e5c6:	e8 45 47 f2 ff       	call   0x4b2d10
58e5cb:	83 c4 08             	add    $0x8,%esp
58e5ce:	56                   	push   %esi
58e5cf:	e8 9c 4d f2 ff       	call   0x4b3370
58e5d4:	83 c0 07             	add    $0x7,%eax
58e5d7:	83 c4 04             	add    $0x4,%esp
58e5da:	99                   	cltd
58e5db:	83 e2 07             	and    $0x7,%edx
58e5de:	03 c2                	add    %edx,%eax
58e5e0:	c1 f8 03             	sar    $0x3,%eax
58e5e3:	03 c3                	add    %ebx,%eax
58e5e5:	5b                   	pop    %ebx
58e5e6:	5e                   	pop    %esi
58e5e7:	c3                   	ret
58e5e8:	cc                   	int3
58e5e9:	cc                   	int3
58e5ea:	cc                   	int3
58e5eb:	cc                   	int3
58e5ec:	cc                   	int3
58e5ed:	cc                   	int3
58e5ee:	cc                   	int3
58e5ef:	cc                   	int3
58e5f0:	56                   	push   %esi
58e5f1:	8b 74 24 08          	mov    0x8(%esp),%esi
58e5f5:	83 3e 00             	cmpl   $0x0,(%esi)
58e5f8:	75 0b                	jne    0x58e605
58e5fa:	e8 11 4d f2 ff       	call   0x4b3310
58e5ff:	89 06                	mov    %eax,(%esi)
58e601:	85 c0                	test   %eax,%eax
58e603:	74 47                	je     0x58e64c
58e605:	ff 36                	push   (%esi)
58e607:	ff 74 24 14          	push   0x14(%esp)
58e60b:	ff 74 24 14          	push   0x14(%esp)
58e60f:	e8 fc 45 f2 ff       	call   0x4b2c10
58e614:	83 c4 0c             	add    $0xc,%esp
58e617:	85 c0                	test   %eax,%eax
58e619:	75 35                	jne    0x58e650
58e61b:	8b 0e                	mov    (%esi),%ecx
58e61d:	85 c9                	test   %ecx,%ecx
58e61f:	74 2b                	je     0x58e64c
58e621:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58e625:	51                   	push   %ecx
58e626:	f6 40 14 01          	testb  $0x1,0x14(%eax)
58e62a:	74 12                	je     0x58e63e
58e62c:	e8 3f 47 f2 ff       	call   0x4b2d70
58e631:	83 c4 04             	add    $0x4,%esp
58e634:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
58e63a:	33 c0                	xor    %eax,%eax
58e63c:	5e                   	pop    %esi
58e63d:	c3                   	ret
58e63e:	e8 9d 4b f2 ff       	call   0x4b31e0
58e643:	83 c4 04             	add    $0x4,%esp
58e646:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
58e64c:	33 c0                	xor    %eax,%eax
58e64e:	5e                   	pop    %esi
58e64f:	c3                   	ret
58e650:	b8 01 00 00 00       	mov    $0x1,%eax
58e655:	5e                   	pop    %esi
58e656:	c3                   	ret
58e657:	cc                   	int3
58e658:	cc                   	int3
58e659:	cc                   	int3
58e65a:	cc                   	int3
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