58d4ed:	50                   	push   %eax
58d4ee:	55                   	push   %ebp
58d4ef:	57                   	push   %edi
58d4f0:	e8 5b 00 00 00       	call   0x58d550
58d4f5:	83 c4 10             	add    $0x10,%esp
58d4f8:	85 c0                	test   %eax,%eax
58d4fa:	0f 88 1b fd ff ff    	js     0x58d21b
58d500:	8b 4c 24 38          	mov    0x38(%esp),%ecx
58d504:	03 d8                	add    %eax,%ebx
58d506:	8b 44 24 34          	mov    0x34(%esp),%eax
58d50a:	49                   	dec    %ecx
58d50b:	40                   	inc    %eax
58d50c:	89 4c 24 38          	mov    %ecx,0x38(%esp)
58d510:	89 44 24 34          	mov    %eax,0x34(%esp)
58d514:	3b 44 24 48          	cmp    0x48(%esp),%eax
58d518:	7d 0d                	jge    0x58d527
58d51a:	8b 74 24 3c          	mov    0x3c(%esp),%esi
58d51e:	8b 54 24 4c          	mov    0x4c(%esp),%edx
58d522:	e9 1e fe ff ff       	jmp    0x58d345
58d527:	8b c3                	mov    %ebx,%eax
58d529:	8b 8c 24 a0 00 00 00 	mov    0xa0(%esp),%ecx
58d530:	5f                   	pop    %edi
58d531:	5e                   	pop    %esi
58d532:	5d                   	pop    %ebp
58d533:	5b                   	pop    %ebx
58d534:	33 cc                	xor    %esp,%ecx
58d536:	e8 9f 3f 05 00       	call   0x5e14da
58d53b:	81 c4 94 00 00 00    	add    $0x94,%esp
58d541:	c3                   	ret
58d542:	cc                   	int3
58d543:	cc                   	int3
58d544:	cc                   	int3
58d545:	cc                   	int3
58d546:	cc                   	int3
58d547:	cc                   	int3
58d548:	cc                   	int3
58d549:	cc                   	int3
58d54a:	cc                   	int3
58d54b:	cc                   	int3
58d54c:	cc                   	int3
58d54d:	cc                   	int3
58d54e:	cc                   	int3
58d54f:	cc                   	int3
58d550:	b8 08 00 00 00       	mov    $0x8,%eax
58d555:	e8 96 3f 05 00       	call   0x5e14f0
58d55a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
58d55e:	53                   	push   %ebx
58d55f:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58d563:	8a c3                	mov    %bl,%al
58d565:	55                   	push   %ebp
58d566:	8b 51 04             	mov    0x4(%ecx),%edx
58d569:	24 0f                	and    $0xf,%al
58d56b:	8b 6c 24 18          	mov    0x18(%esp),%ebp
58d56f:	56                   	push   %esi
58d570:	33 f6                	xor    %esi,%esi
58d572:	c6 44 24 0f 00       	movb   $0x0,0xf(%esp)
58d577:	88 44 24 20          	mov    %al,0x20(%esp)
58d57b:	89 54 24 10          	mov    %edx,0x10(%esp)
58d57f:	57                   	push   %edi
58d580:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58d584:	f6 c3 40             	test   $0x40,%bl
58d587:	74 4e                	je     0x58d5d7
58d589:	52                   	push   %edx
58d58a:	e8 21 89 00 00       	call   0x595eb0
58d58f:	8b c8                	mov    %eax,%ecx
58d591:	83 c4 04             	add    $0x4,%esp
58d594:	8b f1                	mov    %ecx,%esi
58d596:	8d 56 01             	lea    0x1(%esi),%edx
58d599:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
58d5a0:	8a 06                	mov    (%esi),%al
58d5a2:	46                   	inc    %esi
58d5a3:	84 c0                	test   %al,%al
58d5a5:	75 f9                	jne    0x58d5a0
58d5a7:	2b f2                	sub    %edx,%esi
58d5a9:	56                   	push   %esi
58d5aa:	51                   	push   %ecx
58d5ab:	55                   	push   %ebp
58d5ac:	ff d7                	call   *%edi
58d5ae:	83 c4 0c             	add    $0xc,%esp
58d5b1:	85 c0                	test   %eax,%eax
58d5b3:	0f 84 a7 00 00 00    	je     0x58d660
58d5b9:	6a 01                	push   $0x1
58d5bb:	68 40 d1 6b 00       	push   $0x6bd140
58d5c0:	55                   	push   %ebp
58d5c1:	ff d7                	call   *%edi
58d5c3:	83 c4 0c             	add    $0xc,%esp
58d5c6:	85 c0                	test   %eax,%eax
58d5c8:	0f 84 92 00 00 00    	je     0x58d660
58d5ce:	8b 4c 24 28          	mov    0x28(%esp),%ecx
58d5d2:	46                   	inc    %esi
58d5d3:	8b 54 24 14          	mov    0x14(%esp),%edx
58d5d7:	84 db                	test   %bl,%bl
58d5d9:	0f 88 e2 00 00 00    	js     0x58d6c1
58d5df:	f6 c3 20             	test   $0x20,%bl
58d5e2:	75 24                	jne    0x58d608
58d5e4:	8d 42 ff             	lea    -0x1(%edx),%eax
58d5e7:	83 f8 1d             	cmp    $0x1d,%eax
58d5ea:	77 10                	ja     0x58d5fc
58d5ec:	0f be ba fc 69 6c 00 	movsbl 0x6c69fc(%edx),%edi
58d5f3:	83 ff ff             	cmp    $0xffffffff,%edi
58d5f6:	75 15                	jne    0x58d60d
58d5f8:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58d5fc:	f7 c3 00 01 00 00    	test   $0x100,%ebx
58d602:	0f 85 b9 00 00 00    	jne    0x58d6c1
58d608:	bf 01 00 00 00       	mov    $0x1,%edi
58d60d:	f6 c3 10             	test   $0x10,%bl
58d610:	74 11                	je     0x58d623
58d612:	8b c7                	mov    %edi,%eax
58d614:	ba 01 00 00 00       	mov    $0x1,%edx
58d619:	83 c8 08             	or     $0x8,%eax
58d61c:	85 ff                	test   %edi,%edi
58d61e:	0f 44 c2             	cmove  %edx,%eax
58d621:	8b f8                	mov    %eax,%edi
58d623:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58d627:	8d 44 24 13          	lea    0x13(%esp),%eax
58d62b:	6a 00                	push   $0x0
58d62d:	53                   	push   %ebx
58d62e:	50                   	push   %eax
58d62f:	ff 74 24 30          	push   0x30(%esp)
58d633:	57                   	push   %edi
58d634:	ff 31                	push   (%ecx)
58d636:	ff 71 08             	push   0x8(%ecx)
58d639:	e8 22 f6 ff ff       	call   0x58cc60
58d63e:	83 c4 1c             	add    $0x1c,%esp
58d641:	85 c0                	test   %eax,%eax
58d643:	78 1b                	js     0x58d660
58d645:	03 f0                	add    %eax,%esi
58d647:	8a 44 24 13          	mov    0x13(%esp),%al
58d64b:	84 c0                	test   %al,%al
58d64d:	74 03                	je     0x58d652
58d64f:	83 c6 02             	add    $0x2,%esi
58d652:	85 ed                	test   %ebp,%ebp
58d654:	75 15                	jne    0x58d66b
58d656:	5f                   	pop    %edi
58d657:	8b c6                	mov    %esi,%eax
58d659:	5e                   	pop    %esi
58d65a:	5d                   	pop    %ebp
58d65b:	5b                   	pop    %ebx
58d65c:	83 c4 08             	add    $0x8,%esp
58d65f:	c3                   	ret
58d660:	5f                   	pop    %edi
58d661:	5e                   	pop    %esi
58d662:	5d                   	pop    %ebp
58d663:	83 c8 ff             	or     $0xffffffff,%eax
58d666:	5b                   	pop    %ebx
58d667:	83 c4 08             	add    $0x8,%esp
58d66a:	c3                   	ret
58d66b:	84 c0                	test   %al,%al
58d66d:	74 11                	je     0x58d680
58d66f:	6a 01                	push   $0x1
58d671:	68 dc 6a 6c 00       	push   $0x6c6adc
58d676:	55                   	push   %ebp
58d677:	ff d3                	call   *%ebx
58d679:	83 c4 0c             	add    $0xc,%esp
58d67c:	85 c0                	test   %eax,%eax
58d67e:	74 e0                	je     0x58d660
58d680:	8b 44 24 28          	mov    0x28(%esp),%eax
58d684:	55                   	push   %ebp
58d685:	53                   	push   %ebx
58d686:	6a 00                	push   $0x0
58d688:	ff 74 24 30          	push   0x30(%esp)
58d68c:	57                   	push   %edi
58d68d:	ff 30                	push   (%eax)
58d68f:	ff 70 08             	push   0x8(%eax)
58d692:	e8 c9 f5 ff ff       	call   0x58cc60
58d697:	83 c4 1c             	add    $0x1c,%esp
58d69a:	85 c0                	test   %eax,%eax
58d69c:	78 c2                	js     0x58d660
58d69e:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
58d6a3:	74 b1                	je     0x58d656
58d6a5:	6a 01                	push   $0x1
58d6a7:	68 dc 6a 6c 00       	push   $0x6c6adc
58d6ac:	55                   	push   %ebp
58d6ad:	ff d3                	call   *%ebx
58d6af:	83 c4 0c             	add    $0xc,%esp
58d6b2:	85 c0                	test   %eax,%eax
58d6b4:	75 a0                	jne    0x58d656
58d6b6:	5f                   	pop    %edi
58d6b7:	5e                   	pop    %esi
58d6b8:	5d                   	pop    %ebp
58d6b9:	83 c8 ff             	or     $0xffffffff,%eax
58d6bc:	5b                   	pop    %ebx
58d6bd:	83 c4 08             	add    $0x8,%esp
58d6c0:	c3                   	ret
58d6c1:	51                   	push   %ecx
58d6c2:	55                   	push   %ebp
58d6c3:	57                   	push   %edi
58d6c4:	53                   	push   %ebx
58d6c5:	e8 96 f7 ff ff       	call   0x58ce60
58d6ca:	83 c4 10             	add    $0x10,%esp
58d6cd:	85 c0                	test   %eax,%eax
58d6cf:	78 8f                	js     0x58d660
58d6d1:	5f                   	pop    %edi
58d6d2:	03 c6                	add    %esi,%eax
58d6d4:	5e                   	pop    %esi
58d6d5:	5d                   	pop    %ebp
58d6d6:	5b                   	pop    %ebx
58d6d7:	83 c4 08             	add    $0x8,%esp
58d6da:	c3                   	ret
58d6db:	cc                   	int3
58d6dc:	cc                   	int3
58d6dd:	cc                   	int3
58d6de:	cc                   	int3
58d6df:	cc                   	int3
58d6e0:	8b 44 24 04          	mov    0x4(%esp),%eax
58d6e4:	85 c0                	test   %eax,%eax
58d6e6:	75 06                	jne    0x58d6ee
58d6e8:	b8 01 00 00 00       	mov    $0x1,%eax
58d6ed:	c3                   	ret
58d6ee:	ff 74 24 0c          	push   0xc(%esp)
58d6f2:	ff 74 24 0c          	push   0xc(%esp)
58d6f6:	50                   	push   %eax
58d6f7:	e8 54 54 f2 ff       	call   0x4b2b50
58d6fc:	33 c9                	xor    %ecx,%ecx
58d6fe:	83 c4 0c             	add    $0xc,%esp
58d701:	3b 44 24 0c          	cmp    0xc(%esp),%eax
58d705:	0f 94 c1             	sete   %cl
58d708:	8b c1                	mov    %ecx,%eax
58d70a:	c3                   	ret
58d70b:	cc                   	int3
58d70c:	cc                   	int3
58d70d:	cc                   	int3
58d70e:	cc                   	int3
58d70f:	cc                   	int3
58d710:	b8 2c 6b 6c 00       	mov    $0x6c6b2c,%eax
58d715:	c3                   	ret
58d716:	cc                   	int3
58d717:	cc                   	int3
58d718:	cc                   	int3
58d719:	cc                   	int3
58d71a:	cc                   	int3
58d71b:	cc                   	int3
58d71c:	cc                   	int3
58d71d:	cc                   	int3
58d71e:	cc                   	int3
58d71f:	cc                   	int3
58d720:	57                   	push   %edi
58d721:	8b 7c 24 08          	mov    0x8(%esp),%edi
58d725:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
58d729:	74 06                	je     0x58d731
58d72b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
58d72f:	74 16                	je     0x58d747
58d731:	6a 00                	push   $0x0
58d733:	57                   	push   %edi
58d734:	e8 47 4b 00 00       	call   0x592280
58d739:	83 c4 08             	add    $0x8,%esp
58d73c:	85 c0                	test   %eax,%eax
58d73e:	79 07                	jns    0x58d747
58d740:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
58d745:	5f                   	pop    %edi
58d746:	c3                   	ret
58d747:	53                   	push   %ebx
58d748:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58d74c:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
58d750:	74 06                	je     0x58d758
58d752:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
58d756:	74 17                	je     0x58d76f
58d758:	6a 00                	push   $0x0
58d75a:	53                   	push   %ebx
58d75b:	e8 20 4b 00 00       	call   0x592280
58d760:	83 c4 08             	add    $0x8,%esp
58d763:	85 c0                	test   %eax,%eax
58d765:	79 08                	jns    0x58d76f
58d767:	5b                   	pop    %ebx
58d768:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
58d76d:	5f                   	pop    %edi
58d76e:	c3                   	ret
58d76f:	56                   	push   %esi
58d770:	8b 77 10             	mov    0x10(%edi),%esi
58d773:	8b c6                	mov    %esi,%eax
58d775:	2b 43 10             	sub    0x10(%ebx),%eax
58d778:	75 59                	jne    0x58d7d3
58d77a:	8b 4f 0c             	mov    0xc(%edi),%ecx
58d77d:	8b 53 0c             	mov    0xc(%ebx),%edx
58d780:	83 ee 04             	sub    $0x4,%esi
58d783:	72 11                	jb     0x58d796
58d785:	8b 01                	mov    (%ecx),%eax
58d787:	3b 02                	cmp    (%edx),%eax
58d789:	75 10                	jne    0x58d79b
58d78b:	83 c1 04             	add    $0x4,%ecx
58d78e:	83 c2 04             	add    $0x4,%edx
58d791:	83 ee 04             	sub    $0x4,%esi
58d794:	73 ef                	jae    0x58d785
58d796:	83 fe fc             	cmp    $0xfffffffc,%esi
58d799:	74 36                	je     0x58d7d1
58d79b:	8a 01                	mov    (%ecx),%al
58d79d:	3a 02                	cmp    (%edx),%al
58d79f:	75 27                	jne    0x58d7c8
58d7a1:	83 fe fd             	cmp    $0xfffffffd,%esi
58d7a4:	74 2b                	je     0x58d7d1
58d7a6:	8a 41 01             	mov    0x1(%ecx),%al
58d7a9:	3a 42 01             	cmp    0x1(%edx),%al
58d7ac:	75 1a                	jne    0x58d7c8
58d7ae:	83 fe fe             	cmp    $0xfffffffe,%esi
58d7b1:	74 1e                	je     0x58d7d1
58d7b3:	8a 41 02             	mov    0x2(%ecx),%al
58d7b6:	3a 42 02             	cmp    0x2(%edx),%al
58d7b9:	75 0d                	jne    0x58d7c8
58d7bb:	83 fe ff             	cmp    $0xffffffff,%esi
58d7be:	74 11                	je     0x58d7d1
58d7c0:	8a 41 03             	mov    0x3(%ecx),%al
58d7c3:	3a 42 03             	cmp    0x3(%edx),%al
58d7c6:	74 09                	je     0x58d7d1
58d7c8:	5e                   	pop    %esi
58d7c9:	1b c0                	sbb    %eax,%eax
58d7cb:	5b                   	pop    %ebx
58d7cc:	83 c8 01             	or     $0x1,%eax
58d7cf:	5f                   	pop    %edi
58d7d0:	c3                   	ret
58d7d1:	33 c0                	xor    %eax,%eax
58d7d3:	5e                   	pop    %esi
58d7d4:	5b                   	pop    %ebx
58d7d5:	5f                   	pop    %edi
58d7d6:	c3                   	ret
58d7d7:	cc                   	int3
58d7d8:	cc                   	int3
58d7d9:	cc                   	int3
58d7da:	cc                   	int3
58d7db:	cc                   	int3
58d7dc:	cc                   	int3
58d7dd:	cc                   	int3
58d7de:	cc                   	int3
58d7df:	cc                   	int3
58d7e0:	8b 44 24 04          	mov    0x4(%esp),%eax
58d7e4:	85 c0                	test   %eax,%eax
58d7e6:	74 12                	je     0x58d7fa
58d7e8:	8b 00                	mov    (%eax),%eax
58d7ea:	85 c0                	test   %eax,%eax
58d7ec:	74 0c                	je     0x58d7fa
58d7ee:	ff 70 18             	push   0x18(%eax)
58d7f1:	e8 ba a8 ff ff       	call   0x5880b0
58d7f6:	83 c4 04             	add    $0x4,%esp
58d7f9:	c3                   	ret
58d7fa:	33 c0                	xor    %eax,%eax
58d7fc:	c3                   	ret
58d7fd:	cc                   	int3
58d7fe:	cc                   	int3
58d7ff:	cc                   	int3
58d800:	8b 44 24 04          	mov    0x4(%esp),%eax
58d804:	8b 00                	mov    (%eax),%eax
58d806:	8b 40 14             	mov    0x14(%eax),%eax
58d809:	c3                   	ret
58d80a:	cc                   	int3
58d80b:	cc                   	int3
58d80c:	cc                   	int3
58d80d:	cc                   	int3
58d80e:	cc                   	int3
58d80f:	cc                   	int3
58d810:	56                   	push   %esi
58d811:	57                   	push   %edi