58d540:	ff 74 24 10          	push   0x10(%esp)
58d544:	6a 01                	push   $0x1
58d546:	ff 74 24 14          	push   0x14(%esp)
58d54a:	ff 74 24 14          	push   0x14(%esp)
58d54e:	ff 74 24 14          	push   0x14(%esp)
58d552:	e8 79 00 00 00       	call   0x58d5d0
58d557:	83 c4 14             	add    $0x14,%esp
58d55a:	c3                   	ret
58d55b:	cc                   	int3
58d55c:	cc                   	int3
58d55d:	cc                   	int3
58d55e:	cc                   	int3
58d55f:	cc                   	int3
58d560:	8b 44 24 04          	mov    0x4(%esp),%eax
58d564:	8b 48 0c             	mov    0xc(%eax),%ecx
58d567:	8b c1                	mov    %ecx,%eax
58d569:	25 00 00 00 ff       	and    $0xff000000,%eax
58d56e:	3d 00 00 00 03       	cmp    $0x3000000,%eax
58d573:	74 10                	je     0x58d585
58d575:	8b 44 24 0c          	mov    0xc(%esp),%eax
58d579:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
58d57f:	b8 01 00 00 00       	mov    $0x1,%eax
58d584:	c3                   	ret
58d585:	6a 02                	push   $0x2
58d587:	0f b7 c1             	movzwl %cx,%eax
58d58a:	50                   	push   %eax
58d58b:	ff 74 24 10          	push   0x10(%esp)
58d58f:	e8 0c 6a 01 00       	call   0x5a3fa0
58d594:	83 c4 0c             	add    $0xc,%esp
58d597:	85 c0                	test   %eax,%eax
58d599:	75 01                	jne    0x58d59c
58d59b:	c3                   	ret
58d59c:	8b 44 24 0c          	mov    0xc(%esp),%eax
58d5a0:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
58d5a6:	b8 01 00 00 00       	mov    $0x1,%eax
58d5ab:	c3                   	ret
58d5ac:	cc                   	int3
58d5ad:	cc                   	int3
58d5ae:	cc                   	int3
58d5af:	cc                   	int3
58d5b0:	ff 74 24 10          	push   0x10(%esp)
58d5b4:	6a 00                	push   $0x0
58d5b6:	ff 74 24 14          	push   0x14(%esp)
58d5ba:	ff 74 24 14          	push   0x14(%esp)
58d5be:	ff 74 24 14          	push   0x14(%esp)
58d5c2:	e8 09 00 00 00       	call   0x58d5d0
58d5c7:	83 c4 14             	add    $0x14,%esp
58d5ca:	c3                   	ret
58d5cb:	cc                   	int3
58d5cc:	cc                   	int3
58d5cd:	cc                   	int3
58d5ce:	cc                   	int3
58d5cf:	cc                   	int3
58d5d0:	56                   	push   %esi
58d5d1:	57                   	push   %edi
58d5d2:	6a 00                	push   $0x0
58d5d4:	ff 15 04 21 60 00    	call   *0x602104
58d5da:	8b 7c 24 0c          	mov    0xc(%esp),%edi
58d5de:	8b 47 7c             	mov    0x7c(%edi),%eax
58d5e1:	83 b8 f0 00 00 00 00 	cmpl   $0x0,0xf0(%eax)
58d5e8:	74 0e                	je     0x58d5f8
58d5ea:	6a 00                	push   $0x0
58d5ec:	57                   	push   %edi
58d5ed:	e8 ae 00 00 00       	call   0x58d6a0
58d5f2:	8b 47 7c             	mov    0x7c(%edi),%eax
58d5f5:	83 c4 08             	add    $0x8,%esp
58d5f8:	8b 74 24 1c          	mov    0x1c(%esp),%esi
58d5fc:	56                   	push   %esi
58d5fd:	ff 74 24 1c          	push   0x1c(%esp)
58d601:	c7 80 fc 00 00 00 01 	movl   $0x1,0xfc(%eax)
58d608:	00 00 00
58d60b:	ff 74 24 1c          	push   0x1c(%esp)
58d60f:	8b 47 04             	mov    0x4(%edi),%eax
58d612:	ff 74 24 1c          	push   0x1c(%esp)
58d616:	6a 00                	push   $0x0
58d618:	8b 40 38             	mov    0x38(%eax),%eax
58d61b:	6a 17                	push   $0x17
58d61d:	57                   	push   %edi
58d61e:	ff d0                	call   *%eax
58d620:	8b d0                	mov    %eax,%edx
58d622:	83 c4 1c             	add    $0x1c,%esp
58d625:	83 fa ff             	cmp    $0xffffffff,%edx
58d628:	75 40                	jne    0x58d66a
58d62a:	8b 4f 7c             	mov    0x7c(%edi),%ecx
58d62d:	83 b9 fc 00 00 00 02 	cmpl   $0x2,0xfc(%ecx)
58d634:	75 34                	jne    0x58d66a
58d636:	6a 01                	push   $0x1
58d638:	57                   	push   %edi
58d639:	e8 42 1b 00 00       	call   0x58f180
58d63e:	8b 47 04             	mov    0x4(%edi),%eax
58d641:	56                   	push   %esi
58d642:	ff 74 24 24          	push   0x24(%esp)
58d646:	ff 74 24 24          	push   0x24(%esp)
58d64a:	8b 40 38             	mov    0x38(%eax),%eax
58d64d:	ff 74 24 24          	push   0x24(%esp)
58d651:	6a 00                	push   $0x0
58d653:	6a 17                	push   $0x17
58d655:	57                   	push   %edi
58d656:	ff d0                	call   *%eax
58d658:	6a 00                	push   $0x0
58d65a:	57                   	push   %edi
58d65b:	8b f0                	mov    %eax,%esi
58d65d:	e8 1e 1b 00 00       	call   0x58f180
58d662:	83 c4 2c             	add    $0x2c,%esp
58d665:	8b c6                	mov    %esi,%eax
58d667:	5f                   	pop    %edi
58d668:	5e                   	pop    %esi
58d669:	c3                   	ret
58d66a:	8b 47 7c             	mov    0x7c(%edi),%eax
58d66d:	5f                   	pop    %edi
58d66e:	5e                   	pop    %esi
58d66f:	c7 80 fc 00 00 00 00 	movl   $0x0,0xfc(%eax)
58d676:	00 00 00
58d679:	8b c2                	mov    %edx,%eax
58d67b:	c3                   	ret
58d67c:	cc                   	int3
58d67d:	cc                   	int3
58d67e:	cc                   	int3
58d67f:	cc                   	int3
58d680:	8b 44 24 04          	mov    0x4(%esp),%eax
58d684:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
58d688:	74 0d                	je     0x58d697
58d68a:	8b 40 7c             	mov    0x7c(%eax),%eax
58d68d:	c7 80 f0 00 00 00 01 	movl   $0x1,0xf0(%eax)
58d694:	00 00 00
58d697:	b8 01 00 00 00       	mov    $0x1,%eax
58d69c:	c3                   	ret
58d69d:	cc                   	int3
58d69e:	cc                   	int3
58d69f:	cc                   	int3
58d6a0:	56                   	push   %esi
58d6a1:	8b 74 24 08          	mov    0x8(%esp),%esi
58d6a5:	8b 46 7c             	mov    0x7c(%esi),%eax
58d6a8:	83 b8 f0 00 00 00 00 	cmpl   $0x0,0xf0(%eax)
58d6af:	74 69                	je     0x58d71a
58d6b1:	57                   	push   %edi
58d6b2:	8d be 50 06 00 00    	lea    0x650(%esi),%edi
58d6b8:	57                   	push   %edi
58d6b9:	e8 12 3d 00 00       	call   0x5913d0
58d6be:	83 c4 04             	add    $0x4,%esp
58d6c1:	85 c0                	test   %eax,%eax
58d6c3:	75 50                	jne    0x58d715
58d6c5:	57                   	push   %edi
58d6c6:	e8 35 3d 00 00       	call   0x591400
58d6cb:	83 c4 04             	add    $0x4,%esp
58d6ce:	85 c0                	test   %eax,%eax
58d6d0:	75 43                	jne    0x58d715
58d6d2:	39 44 24 10          	cmp    %eax,0x10(%esp)
58d6d6:	75 0d                	jne    0x58d6e5
58d6d8:	56                   	push   %esi
58d6d9:	e8 52 19 00 00       	call   0x58f030
58d6de:	83 c4 04             	add    $0x4,%esp
58d6e1:	85 c0                	test   %eax,%eax
58d6e3:	75 30                	jne    0x58d715
58d6e5:	56                   	push   %esi
58d6e6:	e8 c5 1a 00 00       	call   0x58f1b0
58d6eb:	8b 46 7c             	mov    0x7c(%esi),%eax
58d6ee:	83 c4 04             	add    $0x4,%esp
58d6f1:	c7 80 f0 00 00 00 00 	movl   $0x0,0xf0(%eax)
58d6f8:	00 00 00
58d6fb:	8b 46 7c             	mov    0x7c(%esi),%eax
58d6fe:	5f                   	pop    %edi
58d6ff:	ff 80 f8 00 00 00    	incl   0xf8(%eax)
58d705:	8b 46 7c             	mov    0x7c(%esi),%eax
58d708:	5e                   	pop    %esi
58d709:	ff 80 f4 00 00 00    	incl   0xf4(%eax)
58d70f:	b8 01 00 00 00       	mov    $0x1,%eax
58d714:	c3                   	ret
58d715:	5f                   	pop    %edi
58d716:	33 c0                	xor    %eax,%eax
58d718:	5e                   	pop    %esi
58d719:	c3                   	ret
58d71a:	33 c0                	xor    %eax,%eax
58d71c:	5e                   	pop    %esi
58d71d:	c3                   	ret
58d71e:	cc                   	int3
58d71f:	cc                   	int3
58d720:	56                   	push   %esi
58d721:	8b 74 24 08          	mov    0x8(%esp),%esi
58d725:	57                   	push   %edi
58d726:	68 1c 11 00 00       	push   $0x111c
58d72b:	68 08 6f 66 00       	push   $0x666f08
58d730:	ff b6 c8 00 00 00    	push   0xc8(%esi)
58d736:	e8 45 30 f5 ff       	call   0x4e0780
58d73b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58d73f:	83 c4 0c             	add    $0xc,%esp
58d742:	c7 86 c8 00 00 00 00 	movl   $0x0,0xc8(%esi)
58d749:	00 00 00
58d74c:	c7 86 cc 00 00 00 00 	movl   $0x0,0xcc(%esi)
58d753:	00 00 00
58d756:	85 c0                	test   %eax,%eax
58d758:	74 34                	je     0x58d78e
58d75a:	8b 7c 24 14          	mov    0x14(%esp),%edi
58d75e:	85 ff                	test   %edi,%edi
58d760:	74 2c                	je     0x58d78e
58d762:	81 ff ff 00 00 00    	cmp    $0xff,%edi
58d768:	77 2c                	ja     0x58d796
58d76a:	68 23 11 00 00       	push   $0x1123
58d76f:	68 08 6f 66 00       	push   $0x666f08
58d774:	57                   	push   %edi
58d775:	50                   	push   %eax
58d776:	e8 f5 48 f5 ff       	call   0x4e2070
58d77b:	83 c4 10             	add    $0x10,%esp
58d77e:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
58d784:	85 c0                	test   %eax,%eax
58d786:	74 0e                	je     0x58d796
58d788:	89 be cc 00 00 00    	mov    %edi,0xcc(%esi)
58d78e:	5f                   	pop    %edi
58d78f:	b8 01 00 00 00       	mov    $0x1,%eax
58d794:	5e                   	pop    %esi
58d795:	c3                   	ret
58d796:	5f                   	pop    %edi
58d797:	33 c0                	xor    %eax,%eax
58d799:	5e                   	pop    %esi
58d79a:	c3                   	ret
58d79b:	cc                   	int3
58d79c:	cc                   	int3
58d79d:	cc                   	int3
58d79e:	cc                   	int3
58d79f:	cc                   	int3
58d7a0:	56                   	push   %esi
58d7a1:	8b 74 24 08          	mov    0x8(%esp),%esi
58d7a5:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
58d7a9:	0f 85 95 00 00 00    	jne    0x58d844
58d7af:	56                   	push   %esi
58d7b0:	e8 5b 18 00 00       	call   0x58f010
58d7b5:	83 c4 04             	add    $0x4,%esp
58d7b8:	85 c0                	test   %eax,%eax
58d7ba:	0f 85 84 00 00 00    	jne    0x58d844
58d7c0:	8b 4e 28             	mov    0x28(%esi),%ecx
58d7c3:	f6 c1 01             	test   $0x1,%cl
58d7c6:	75 34                	jne    0x58d7fc
58d7c8:	50                   	push   %eax
58d7c9:	83 c9 01             	or     $0x1,%ecx
58d7cc:	6a 01                	push   $0x1
58d7ce:	56                   	push   %esi
58d7cf:	89 4e 28             	mov    %ecx,0x28(%esi)
58d7d2:	e8 d9 6d 01 00       	call   0x5a45b0
58d7d7:	8b 46 7c             	mov    0x7c(%esi),%eax
58d7da:	83 c4 0c             	add    $0xc,%esp
58d7dd:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
58d7e4:	75 59                	jne    0x58d83f
58d7e6:	83 7e 28 03          	cmpl   $0x3,0x28(%esi)
58d7ea:	75 0c                	jne    0x58d7f8
58d7ec:	8b 46 7c             	mov    0x7c(%esi),%eax
58d7ef:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
58d7f6:	74 53                	je     0x58d84b
58d7f8:	33 c0                	xor    %eax,%eax
58d7fa:	5e                   	pop    %esi
58d7fb:	c3                   	ret
58d7fc:	8b 46 7c             	mov    0x7c(%esi),%eax
58d7ff:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
58d806:	74 11                	je     0x58d819
58d808:	8b 46 04             	mov    0x4(%esi),%eax
58d80b:	56                   	push   %esi
58d80c:	8b 40 40             	mov    0x40(%eax),%eax
58d80f:	ff d0                	call   *%eax
58d811:	83 c4 04             	add    $0x4,%esp
58d814:	83 f8 ff             	cmp    $0xffffffff,%eax
58d817:	eb 24                	jmp    0x58d83d
58d819:	f6 c1 02             	test   $0x2,%cl
58d81c:	75 c8                	jne    0x58d7e6
58d81e:	8b 46 04             	mov    0x4(%esi),%eax
58d821:	8d 4c 24 08          	lea    0x8(%esp),%ecx
58d825:	51                   	push   %ecx
58d826:	6a 00                	push   $0x0
58d828:	6a 00                	push   $0x0
58d82a:	8b 40 38             	mov    0x38(%eax),%eax
58d82d:	6a 00                	push   $0x0
58d82f:	6a 00                	push   $0x0
58d831:	6a 00                	push   $0x0
58d833:	56                   	push   %esi
58d834:	ff d0                	call   *%eax
58d836:	83 c4 1c             	add    $0x1c,%esp
58d839:	f6 46 28 02          	testb  $0x2,0x28(%esi)
58d83d:	75 a7                	jne    0x58d7e6
58d83f:	83 c8 ff             	or     $0xffffffff,%eax
58d842:	5e                   	pop    %esi
58d843:	c3                   	ret
58d844:	c7 46 28 03 00 00 00 	movl   $0x3,0x28(%esi)
58d84b:	b8 01 00 00 00       	mov    $0x1,%eax
58d850:	5e                   	pop    %esi
58d851:	c3                   	ret
58d852:	cc                   	int3
58d853:	cc                   	int3
58d854:	cc                   	int3
58d855:	cc                   	int3
58d856:	cc                   	int3
58d857:	cc                   	int3
58d858:	cc                   	int3
58d859:	cc                   	int3
58d85a:	cc                   	int3
58d85b:	cc                   	int3
58d85c:	cc                   	int3
58d85d:	cc                   	int3
58d85e:	cc                   	int3
58d85f:	cc                   	int3
58d860:	56                   	push   %esi
58d861:	6a 00                	push   $0x0
58d863:	ff 15 04 21 60 00    	call   *0x602104
58d869:	8b 74 24 08          	mov    0x8(%esp),%esi
58d86d:	8b 46 7c             	mov    0x7c(%esi),%eax
58d870:	83 b8 f0 00 00 00 00 	cmpl   $0x0,0xf0(%eax)
58d877:	74 0b                	je     0x58d884
58d879:	6a 00                	push   $0x0
58d87b:	56                   	push   %esi
58d87c:	e8 1f fe ff ff       	call   0x58d6a0
58d881:	83 c4 08             	add    $0x8,%esp
58d884:	ff 74 24 14          	push   0x14(%esp)
58d888:	8b 46 04             	mov    0x4(%esi),%eax
58d88b:	ff 74 24 14          	push   0x14(%esp)
58d88f:	ff 74 24 14          	push   0x14(%esp)
58d893:	8b 40 3c             	mov    0x3c(%eax),%eax
58d896:	6a 17                	push   $0x17
58d898:	56                   	push   %esi
58d899:	ff d0                	call   *%eax
58d89b:	83 c4 14             	add    $0x14,%esp
58d89e:	5e                   	pop    %esi
58d89f:	c3                   	ret
58d8a0:	b8 04 00 00 00       	mov    $0x4,%eax
58d8a5:	e8 06 3f 04 00       	call   0x5d17b0
58d8aa:	8b 44 24 0c          	mov    0xc(%esp),%eax
58d8ae:	56                   	push   %esi
58d8af:	57                   	push   %edi
58d8b0:	33 f6                	xor    %esi,%esi
58d8b2:	33 ff                	xor    %edi,%edi
58d8b4:	89 74 24 08          	mov    %esi,0x8(%esp)
58d8b8:	85 c0                	test   %eax,%eax
58d8ba:	0f 84 7e 01 00 00    	je     0x58da3e
58d8c0:	39 74 24 18          	cmp    %esi,0x18(%esp)
58d8c4:	0f 84 74 01 00 00    	je     0x58da3e
58d8ca:	53                   	push   %ebx
58d8cb:	57                   	push   %edi
58d8cc:	50                   	push   %eax
58d8cd:	e8 4e 9a f5 ff       	call   0x4e7320
58d8d2:	8b d8                	mov    %eax,%ebx
58d8d4:	53                   	push   %ebx
58d8d5:	e8 96 ce fc ff       	call   0x55a770
58d8da:	83 c4 0c             	add    $0xc,%esp
58d8dd:	85 c0                	test   %eax,%eax
58d8df:	0f 8e 16 01 00 00    	jle    0x58d9fb
58d8e5:	ff 74 24 1c          	push   0x1c(%esp)
58d8e9:	53                   	push   %ebx
58d8ea:	e8 f1 ce fc ff       	call   0x55a7e0
58d8ef:	83 c4 08             	add    $0x8,%esp
58d8f2:	85 c0                	test   %eax,%eax
58d8f4:	0f 8e 01 01 00 00    	jle    0x58d9fb
58d8fa:	8d 44 24 0c          	lea    0xc(%esp),%eax
58d8fe:	50                   	push   %eax
58d8ff:	57                   	push   %edi