4994e0:	c6 45 a3 01          	movb   $0x1,-0x5d(%ebp)
4994e4:	0f 43 c7             	cmovae %edi,%eax
4994e7:	80 3c 10 7f          	cmpb   $0x7f,(%eax,%edx,1)
4994eb:	0f 84 bf 01 00 00    	je     0x4996b0
4994f1:	83 fb 10             	cmp    $0x10,%ebx
4994f4:	8d 45 bc             	lea    -0x44(%ebp),%eax
4994f7:	0f 43 c7             	cmovae %edi,%eax
4994fa:	fe 04 10             	incb   (%eax,%edx,1)
4994fd:	8b 5d d0             	mov    -0x30(%ebp),%ebx
499500:	8b 7d bc             	mov    -0x44(%ebp),%edi
499503:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
499506:	e9 a2 01 00 00       	jmp    0x4996ad
49950b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
49950e:	8d 45 bc             	lea    -0x44(%ebp),%eax
499511:	8b 55 94             	mov    -0x6c(%ebp),%edx
499514:	83 f9 10             	cmp    $0x10,%ecx
499517:	0f 43 c7             	cmovae %edi,%eax
49951a:	80 3c 10 00          	cmpb   $0x0,(%eax,%edx,1)
49951e:	0f 84 d7 01 00 00    	je     0x4996fb
499524:	8a 45 a2             	mov    -0x5e(%ebp),%al
499527:	84 c0                	test   %al,%al
499529:	0f 84 cc 01 00 00    	je     0x4996fb
49952f:	80 7d 9b 00          	cmpb   $0x0,-0x65(%ebp)
499533:	75 42                	jne    0x499577
499535:	8b 16                	mov    (%esi),%edx
499537:	85 d2                	test   %edx,%edx
499539:	74 2f                	je     0x49956a
49953b:	8b 42 1c             	mov    0x1c(%edx),%eax
49953e:	8b 18                	mov    (%eax),%ebx
499540:	85 db                	test   %ebx,%ebx
499542:	74 0d                	je     0x499551
499544:	8b 42 2c             	mov    0x2c(%edx),%eax
499547:	83 38 00             	cmpl   $0x0,(%eax)
49954a:	7e 05                	jle    0x499551
49954c:	0f b6 1b             	movzbl (%ebx),%ebx
49954f:	eb 0c                	jmp    0x49955d
499551:	8b 02                	mov    (%edx),%eax
499553:	8b ca                	mov    %edx,%ecx
499555:	ff 50 18             	call   *0x18(%eax)
499558:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
49955b:	8b d8                	mov    %eax,%ebx
49955d:	83 fb ff             	cmp    $0xffffffff,%ebx
499560:	74 05                	je     0x499567
499562:	88 5e 05             	mov    %bl,0x5(%esi)
499565:	eb 09                	jmp    0x499570
499567:	8a 5e 05             	mov    0x5(%esi),%bl
49956a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
499570:	8a 45 a2             	mov    -0x5e(%ebp),%al
499573:	c6 46 04 01          	movb   $0x1,0x4(%esi)
499577:	3a d8                	cmp    %al,%bl
499579:	0f 85 7c 01 00 00    	jne    0x4996fb
49957f:	8b 7d cc             	mov    -0x34(%ebp),%edi
499582:	3b f9                	cmp    %ecx,%edi
499584:	73 24                	jae    0x4995aa
499586:	8d 47 01             	lea    0x1(%edi),%eax
499589:	83 f9 10             	cmp    $0x10,%ecx
49958c:	89 45 cc             	mov    %eax,-0x34(%ebp)
49958f:	8d 45 bc             	lea    -0x44(%ebp),%eax
499592:	0f 43 45 90          	cmovae -0x70(%ebp),%eax
499596:	66 c7 04 38 00 00    	movw   $0x0,(%eax,%edi,1)
49959c:	8b 5d d0             	mov    -0x30(%ebp),%ebx
49959f:	8b 7d bc             	mov    -0x44(%ebp),%edi
4995a2:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
4995a5:	e9 00 01 00 00       	jmp    0x4996aa
4995aa:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4995af:	2b c7                	sub    %edi,%eax
4995b1:	83 f8 01             	cmp    $0x1,%eax
4995b4:	0f 82 51 02 00 00    	jb     0x49980b
4995ba:	8d 5f 01             	lea    0x1(%edi),%ebx
4995bd:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
4995c3:	83 cb 0f             	or     $0xf,%ebx
4995c6:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
4995cc:	76 07                	jbe    0x4995d5
4995ce:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4995d3:	eb 1e                	jmp    0x4995f3
4995d5:	8b d1                	mov    %ecx,%edx
4995d7:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4995dc:	d1 ea                	shr    $1,%edx
4995de:	2b c2                	sub    %edx,%eax
4995e0:	3b c8                	cmp    %eax,%ecx
4995e2:	76 07                	jbe    0x4995eb
4995e4:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4995e9:	eb 08                	jmp    0x4995f3
4995eb:	8d 04 11             	lea    (%ecx,%edx,1),%eax
4995ee:	3b d8                	cmp    %eax,%ebx
4995f0:	0f 42 d8             	cmovb  %eax,%ebx
4995f3:	8d 43 01             	lea    0x1(%ebx),%eax
4995f6:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
4995f9:	50                   	push   %eax
4995fa:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4995fd:	e8 4e fe f9 ff       	call   0x439450
499602:	8d 4f 01             	lea    0x1(%edi),%ecx
499605:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
49960b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
49960e:	89 5d d0             	mov    %ebx,-0x30(%ebp)
499611:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
499614:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
49961a:	8d 4f 01             	lea    0x1(%edi),%ecx
49961d:	03 c8                	add    %eax,%ecx
49961f:	83 bd 78 ff ff ff 10 	cmpl   $0x10,-0x88(%ebp)
499626:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
49962c:	57                   	push   %edi
49962d:	72 53                	jb     0x499682
49962f:	8b 5d 90             	mov    -0x70(%ebp),%ebx
499632:	53                   	push   %ebx
499633:	50                   	push   %eax
499634:	e8 c7 98 14 00       	call   0x5e2f00
499639:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
49963f:	83 c4 0c             	add    $0xc,%esp
499642:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
499648:	41                   	inc    %ecx
499649:	c6 00 00             	movb   $0x0,(%eax)
49964c:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
499652:	c6 00 00             	movb   $0x0,(%eax)
499655:	8b c3                	mov    %ebx,%eax
499657:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49965d:	72 14                	jb     0x499673
49965f:	8b 5b fc             	mov    -0x4(%ebx),%ebx
499662:	83 c1 23             	add    $0x23,%ecx
499665:	2b c3                	sub    %ebx,%eax
499667:	83 c0 fc             	add    $0xfffffffc,%eax
49966a:	83 f8 1f             	cmp    $0x1f,%eax
49966d:	0f 87 9d 01 00 00    	ja     0x499810
499673:	51                   	push   %ecx
499674:	53                   	push   %ebx
499675:	e8 f8 79 14 00       	call   0x5e1072
49967a:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
49967d:	83 c4 08             	add    $0x8,%esp
499680:	eb 1f                	jmp    0x4996a1
499682:	8d 4d bc             	lea    -0x44(%ebp),%ecx
499685:	51                   	push   %ecx
499686:	50                   	push   %eax
499687:	e8 74 98 14 00       	call   0x5e2f00
49968c:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
499692:	83 c4 0c             	add    $0xc,%esp
499695:	c6 00 00             	movb   $0x0,(%eax)
499698:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
49969e:	c6 00 00             	movb   $0x0,(%eax)
4996a1:	8b bd 6c ff ff ff    	mov    -0x94(%ebp),%edi
4996a7:	89 7d bc             	mov    %edi,-0x44(%ebp)
4996aa:	ff 45 94             	incl   -0x6c(%ebp)
4996ad:	89 7d 90             	mov    %edi,-0x70(%ebp)
4996b0:	8b 0e                	mov    (%esi),%ecx
4996b2:	85 c9                	test   %ecx,%ecx
4996b4:	74 36                	je     0x4996ec
4996b6:	8b 41 1c             	mov    0x1c(%ecx),%eax
4996b9:	83 38 00             	cmpl   $0x0,(%eax)
4996bc:	74 1b                	je     0x4996d9
4996be:	8b 51 2c             	mov    0x2c(%ecx),%edx
4996c1:	8b 02                	mov    (%edx),%eax
4996c3:	85 c0                	test   %eax,%eax
4996c5:	7e 12                	jle    0x4996d9
4996c7:	48                   	dec    %eax
4996c8:	89 02                	mov    %eax,(%edx)
4996ca:	8b 49 1c             	mov    0x1c(%ecx),%ecx
4996cd:	8b 11                	mov    (%ecx),%edx
4996cf:	8d 42 01             	lea    0x1(%edx),%eax
4996d2:	89 01                	mov    %eax,(%ecx)
4996d4:	0f b6 02             	movzbl (%edx),%eax
4996d7:	eb 05                	jmp    0x4996de
4996d9:	8b 01                	mov    (%ecx),%eax
4996db:	ff 50 1c             	call   *0x1c(%eax)
4996de:	83 f8 ff             	cmp    $0xffffffff,%eax
4996e1:	74 09                	je     0x4996ec
4996e3:	c6 46 04 00          	movb   $0x0,0x4(%esi)
4996e7:	e9 bb fc ff ff       	jmp    0x4993a7
4996ec:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4996f2:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4996f6:	e9 ac fc ff ff       	jmp    0x4993a7
4996fb:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
4996fe:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
499701:	85 c9                	test   %ecx,%ecx
499703:	74 13                	je     0x499718
499705:	83 fb 10             	cmp    $0x10,%ebx
499708:	8d 45 bc             	lea    -0x44(%ebp),%eax
49970b:	0f 43 c7             	cmovae %edi,%eax
49970e:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
499712:	7e 63                	jle    0x499777
499714:	41                   	inc    %ecx
499715:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
499718:	8a 45 a3             	mov    -0x5d(%ebp),%al
49971b:	83 7d b8 10          	cmpl   $0x10,-0x48(%ebp)
49971f:	8d 55 a4             	lea    -0x5c(%ebp),%edx
499722:	8b 75 a4             	mov    -0x5c(%ebp),%esi
499725:	0f 43 d6             	cmovae %esi,%edx
499728:	84 c0                	test   %al,%al
49972a:	74 5e                	je     0x49978a
49972c:	0f 1f 40 00          	nopl   0x0(%eax)
499730:	8b 45 94             	mov    -0x6c(%ebp),%eax
499733:	85 c0                	test   %eax,%eax
499735:	74 44                	je     0x49977b
499737:	8a 0a                	mov    (%edx),%cl
499739:	80 f9 7f             	cmp    $0x7f,%cl
49973c:	74 3d                	je     0x49977b
49973e:	83 e8 01             	sub    $0x1,%eax
499741:	89 45 94             	mov    %eax,-0x6c(%ebp)
499744:	74 17                	je     0x49975d
499746:	8b 75 94             	mov    -0x6c(%ebp),%esi
499749:	8d 45 bc             	lea    -0x44(%ebp),%eax
49974c:	83 fb 10             	cmp    $0x10,%ebx
49974f:	0f 43 c7             	cmovae %edi,%eax
499752:	3a 0c 30             	cmp    (%eax,%esi,1),%cl
499755:	8b 75 a4             	mov    -0x5c(%ebp),%esi
499758:	75 30                	jne    0x49978a
49975a:	8b 45 94             	mov    -0x6c(%ebp),%eax
49975d:	85 c0                	test   %eax,%eax
49975f:	75 0d                	jne    0x49976e
499761:	83 fb 10             	cmp    $0x10,%ebx
499764:	8d 45 bc             	lea    -0x44(%ebp),%eax
499767:	0f 43 c7             	cmovae %edi,%eax
49976a:	3a 08                	cmp    (%eax),%cl
49976c:	7c 1c                	jl     0x49978a
49976e:	80 7a 01 00          	cmpb   $0x0,0x1(%edx)
499772:	7e bc                	jle    0x499730
499774:	42                   	inc    %edx
499775:	eb b9                	jmp    0x499730
499777:	32 c0                	xor    %al,%al
499779:	eb a0                	jmp    0x49971b
49977b:	80 7d a1 00          	cmpb   $0x0,-0x5f(%ebp)
49977f:	8b 45 8c             	mov    -0x74(%ebp),%eax
499782:	75 09                	jne    0x49978d
499784:	c6 00 30             	movb   $0x30,(%eax)
499787:	40                   	inc    %eax
499788:	eb 03                	jmp    0x49978d
49978a:	8b 45 80             	mov    -0x80(%ebp),%eax
49978d:	c6 00 00             	movb   $0x0,(%eax)
499790:	83 fb 10             	cmp    $0x10,%ebx
499793:	72 28                	jb     0x4997bd
499795:	43                   	inc    %ebx
499796:	8b c7                	mov    %edi,%eax
499798:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
49979e:	72 10                	jb     0x4997b0
4997a0:	8b 7f fc             	mov    -0x4(%edi),%edi
4997a3:	83 c3 23             	add    $0x23,%ebx
4997a6:	2b c7                	sub    %edi,%eax
4997a8:	83 c0 fc             	add    $0xfffffffc,%eax
4997ab:	83 f8 1f             	cmp    $0x1f,%eax
4997ae:	77 60                	ja     0x499810
4997b0:	53                   	push   %ebx
4997b1:	57                   	push   %edi
4997b2:	e8 bb 78 14 00       	call   0x5e1072
4997b7:	8b 75 a4             	mov    -0x5c(%ebp),%esi
4997ba:	83 c4 08             	add    $0x8,%esp
4997bd:	8b 45 b8             	mov    -0x48(%ebp),%eax
4997c0:	83 f8 10             	cmp    $0x10,%eax
4997c3:	72 27                	jb     0x4997ec
4997c5:	8d 48 01             	lea    0x1(%eax),%ecx
4997c8:	8b c6                	mov    %esi,%eax
4997ca:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4997d0:	72 10                	jb     0x4997e2
4997d2:	8b 76 fc             	mov    -0x4(%esi),%esi
4997d5:	83 c1 23             	add    $0x23,%ecx
4997d8:	2b c6                	sub    %esi,%eax
4997da:	83 c0 fc             	add    $0xfffffffc,%eax
4997dd:	83 f8 1f             	cmp    $0x1f,%eax
4997e0:	77 2e                	ja     0x499810
4997e2:	51                   	push   %ecx
4997e3:	56                   	push   %esi
4997e4:	e8 89 78 14 00       	call   0x5e1072
4997e9:	83 c4 08             	add    $0x8,%esp
4997ec:	8b 45 84             	mov    -0x7c(%ebp),%eax
4997ef:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4997f2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4997f9:	59                   	pop    %ecx
4997fa:	5f                   	pop    %edi
4997fb:	5e                   	pop    %esi
4997fc:	5b                   	pop    %ebx
4997fd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
499800:	33 cd                	xor    %ebp,%ecx
499802:	e8 d3 7c 14 00       	call   0x5e14da
499807:	8b e5                	mov    %ebp,%esp
499809:	5d                   	pop    %ebp
49980a:	c3                   	ret
49980b:	e8 20 b8 fa ff       	call   0x445030
499810:	e8 1a 37 15 00       	call   0x5ecf2f
499815:	cc                   	int3
499816:	cc                   	int3
499817:	cc                   	int3
499818:	cc                   	int3
499819:	cc                   	int3
49981a:	cc                   	int3
49981b:	cc                   	int3
49981c:	cc                   	int3
49981d:	cc                   	int3
49981e:	cc                   	int3
49981f:	cc                   	int3
499820:	55                   	push   %ebp
499821:	8b ec                	mov    %esp,%ebp
499823:	6a ff                	push   $0xffffffff
499825:	68 98 7f 65 00       	push   $0x657f98
49982a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
499830:	50                   	push   %eax
499831:	83 ec 40             	sub    $0x40,%esp
499834:	53                   	push   %ebx
499835:	56                   	push   %esi
499836:	57                   	push   %edi
499837:	a1 d4 89 72 00       	mov    0x7289d4,%eax
49983c:	33 c5                	xor    %ebp,%eax
49983e:	50                   	push   %eax
49983f:	8d 45 f4             	lea    -0xc(%ebp),%eax
499842:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
499848:	89 65 f0             	mov    %esp,-0x10(%ebp)
49984b:	8b f9                	mov    %ecx,%edi
49984d:	89 7d e8             	mov    %edi,-0x18(%ebp)
499850:	8b 07                	mov    (%edi),%eax
499852:	8b 48 04             	mov    0x4(%eax),%ecx
499855:	03 cf                	add    %edi,%ecx
499857:	8b 51 0c             	mov    0xc(%ecx),%edx
49985a:	85 d2                	test   %edx,%edx
49985c:	74 39                	je     0x499897
49985e:	33 f6                	xor    %esi,%esi
499860:	b8 04 00 00 00       	mov    $0x4,%eax
499865:	39 71 38             	cmp    %esi,0x38(%ecx)
499868:	0f 45 c6             	cmovne %esi,%eax
49986b:	0b c2                	or     %edx,%eax
49986d:	83 e0 15             	and    $0x15,%eax
499870:	83 c8 02             	or     $0x2,%eax
499873:	89 41 0c             	mov    %eax,0xc(%ecx)
499876:	8b 49 10             	mov    0x10(%ecx),%ecx
499879:	23 c8                	and    %eax,%ecx
49987b:	0f 85 c3 01 00 00    	jne    0x499a44
499881:	32 c0                	xor    %al,%al
499883:	8b 4d f4             	mov    -0xc(%ebp),%ecx
499886:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
49988d:	59                   	pop    %ecx
49988e:	5f                   	pop    %edi
49988f:	5e                   	pop    %esi
499890:	5b                   	pop    %ebx
499891:	8b e5                	mov    %ebp,%esp
499893:	5d                   	pop    %ebp
499894:	c2 04 00             	ret    $0x4
499897:	8b 49 3c             	mov    0x3c(%ecx),%ecx
49989a:	85 c9                	test   %ecx,%ecx
49989c:	74 05                	je     0x4998a3
49989e:	e8 9d 13 00 00       	call   0x49ac40
4998a3:	32 db                	xor    %bl,%bl
4998a5:	88 5d ef             	mov    %bl,-0x11(%ebp)
4998a8:	38 5d 08             	cmp    %bl,0x8(%ebp)
4998ab:	0f 85 72 01 00 00    	jne    0x499a23
4998b1:	8b 07                	mov    (%edi),%eax
4998b3:	8b 40 04             	mov    0x4(%eax),%eax
4998b6:	f6 44 38 14 01       	testb  $0x1,0x14(%eax,%edi,1)
4998bb:	0f 84 62 01 00 00    	je     0x499a23
4998c1:	8b 44 38 30          	mov    0x30(%eax,%edi,1),%eax
4998c5:	8b 70 04             	mov    0x4(%eax),%esi
4998c8:	8b ce                	mov    %esi,%ecx
4998ca:	89 75 e0             	mov    %esi,-0x20(%ebp)
4998cd:	8b 06                	mov    (%esi),%eax
4998cf:	ff 50 04             	call   *0x4(%eax)
4998d2:	8d 45 dc             	lea    -0x24(%ebp),%eax