4993d1:	8d 4f 01             	lea    0x1(%edi),%ecx
4993d4:	83 c9 0f             	or     $0xf,%ecx
4993d7:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
4993dd:	76 07                	jbe    0x4993e6
4993df:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
4993e4:	eb 1e                	jmp    0x499404
4993e6:	8b d3                	mov    %ebx,%edx
4993e8:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4993ed:	d1 ea                	shr    $1,%edx
4993ef:	2b c2                	sub    %edx,%eax
4993f1:	3b d8                	cmp    %eax,%ebx
4993f3:	76 07                	jbe    0x4993fc
4993f5:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
4993fa:	eb 08                	jmp    0x499404
4993fc:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
4993ff:	3b c8                	cmp    %eax,%ecx
499401:	0f 42 c8             	cmovb  %eax,%ecx
499404:	8d 41 01             	lea    0x1(%ecx),%eax
499407:	89 4d e8             	mov    %ecx,-0x18(%ebp)
49940a:	50                   	push   %eax
49940b:	8b ce                	mov    %esi,%ecx
49940d:	e8 0e fa fb ff       	call   0x458e20
499412:	8b c8                	mov    %eax,%ecx
499414:	8d 47 01             	lea    0x1(%edi),%eax
499417:	89 46 10             	mov    %eax,0x10(%esi)
49941a:	8b 45 e8             	mov    -0x18(%ebp),%eax
49941d:	89 46 14             	mov    %eax,0x14(%esi)
499420:	89 4d e0             	mov    %ecx,-0x20(%ebp)
499423:	8d 04 39             	lea    (%ecx,%edi,1),%eax
499426:	89 45 e4             	mov    %eax,-0x1c(%ebp)
499429:	57                   	push   %edi
49942a:	83 fb 10             	cmp    $0x10,%ebx
49942d:	72 44                	jb     0x499473
49942f:	8b 06                	mov    (%esi),%eax
499431:	8b f8                	mov    %eax,%edi
499433:	57                   	push   %edi
499434:	51                   	push   %ecx
499435:	e8 96 99 13 00       	call   0x5d2dd0
49943a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
49943d:	43                   	inc    %ebx
49943e:	8a 45 0f             	mov    0xf(%ebp),%al
499441:	83 c4 0c             	add    $0xc,%esp
499444:	88 01                	mov    %al,(%ecx)
499446:	c6 41 01 00          	movb   $0x0,0x1(%ecx)
49944a:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
499450:	72 12                	jb     0x499464
499452:	8b 4f fc             	mov    -0x4(%edi),%ecx
499455:	83 c3 23             	add    $0x23,%ebx
499458:	2b f9                	sub    %ecx,%edi
49945a:	8d 47 fc             	lea    -0x4(%edi),%eax
49945d:	83 f8 1f             	cmp    $0x1f,%eax
499460:	77 57                	ja     0x4994b9
499462:	8b f9                	mov    %ecx,%edi
499464:	53                   	push   %ebx
499465:	57                   	push   %edi
499466:	e8 ea 7d 13 00       	call   0x5d1255
49946b:	8b 45 e0             	mov    -0x20(%ebp),%eax
49946e:	83 c4 08             	add    $0x8,%esp
499471:	eb 19                	jmp    0x49948c
499473:	56                   	push   %esi
499474:	51                   	push   %ecx
499475:	e8 56 99 13 00       	call   0x5d2dd0
49947a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
49947d:	8a 45 0f             	mov    0xf(%ebp),%al
499480:	88 01                	mov    %al,(%ecx)
499482:	8b 45 e0             	mov    -0x20(%ebp),%eax
499485:	c6 41 01 00          	movb   $0x0,0x1(%ecx)
499489:	83 c4 0c             	add    $0xc,%esp
49948c:	8b 55 f0             	mov    -0x10(%ebp),%edx
49948f:	89 06                	mov    %eax,(%esi)
499491:	8b 4d ec             	mov    -0x14(%ebp),%ecx
499494:	41                   	inc    %ecx
499495:	89 4d ec             	mov    %ecx,-0x14(%ebp)
499498:	3b ca                	cmp    %edx,%ecx
49949a:	0f 85 04 fe ff ff    	jne    0x4992a4
4994a0:	8b c6                	mov    %esi,%eax
4994a2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4994a5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4994ac:	59                   	pop    %ecx
4994ad:	5f                   	pop    %edi
4994ae:	5e                   	pop    %esi
4994af:	5b                   	pop    %ebx
4994b0:	8b e5                	mov    %ebp,%esp
4994b2:	5d                   	pop    %ebp
4994b3:	c3                   	ret
4994b4:	e8 57 e1 fa ff       	call   0x447610
4994b9:	e8 32 cd 13 00       	call   0x5d61f0
4994be:	cc                   	int3
4994bf:	cc                   	int3
4994c0:	55                   	push   %ebp
4994c1:	8b ec                	mov    %esp,%ebp
4994c3:	6a ff                	push   $0xffffffff
4994c5:	68 90 cc 5f 00       	push   $0x5fcc90
4994ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4994d0:	50                   	push   %eax
4994d1:	81 ec 94 00 00 00    	sub    $0x94,%esp
4994d7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4994dc:	33 c5                	xor    %ebp,%eax
4994de:	89 45 f0             	mov    %eax,-0x10(%ebp)
4994e1:	53                   	push   %ebx
4994e2:	56                   	push   %esi
4994e3:	57                   	push   %edi
4994e4:	50                   	push   %eax
4994e5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4994e8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4994ee:	8b f1                	mov    %ecx,%esi
4994f0:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4994f4:	8b 7d 08             	mov    0x8(%ebp),%edi
4994f7:	75 07                	jne    0x499500
4994f9:	32 c0                	xor    %al,%al
4994fb:	e9 8e 00 00 00       	jmp    0x49958e
499500:	6a 00                	push   $0x0
499502:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
499508:	e8 f3 fd 02 00       	call   0x4c9300
49950d:	c7 85 64 ff ff ff 58 	movl   $0x60ef58,-0x9c(%ebp)
499514:	ef 60 00
499517:	8b 4e 04             	mov    0x4(%esi),%ecx
49951a:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
499520:	52                   	push   %edx
499521:	ff 75 0c             	push   0xc(%ebp)
499524:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49952b:	8b 01                	mov    (%ecx),%eax
49952d:	ff 77 04             	push   0x4(%edi)
499530:	8b 40 0c             	mov    0xc(%eax),%eax
499533:	ff d0                	call   *%eax
499535:	84 c0                	test   %al,%al
499537:	74 46                	je     0x49957f
499539:	8b 45 dc             	mov    -0x24(%ebp),%eax
49953c:	83 ec 08             	sub    $0x8,%esp
49953f:	83 e0 fe             	and    $0xfffffffe,%eax
499542:	8b cc                	mov    %esp,%ecx
499544:	8b d0                	mov    %eax,%edx
499546:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
49954a:	72 02                	jb     0x49954e
49954c:	8b 10                	mov    (%eax),%edx
49954e:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
499555:	89 11                	mov    %edx,(%ecx)
499557:	8b 40 10             	mov    0x10(%eax),%eax
49955a:	89 41 04             	mov    %eax,0x4(%ecx)
49955d:	8b 4e 10             	mov    0x10(%esi),%ecx
499560:	e8 5b 77 ff ff       	call   0x490cc0
499565:	85 c0                	test   %eax,%eax
499567:	75 16                	jne    0x49957f
499569:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
49956f:	8b ce                	mov    %esi,%ecx
499571:	50                   	push   %eax
499572:	e8 19 aa fe ff       	call   0x483f90
499577:	85 c0                	test   %eax,%eax
499579:	74 04                	je     0x49957f
49957b:	b3 01                	mov    $0x1,%bl
49957d:	eb 02                	jmp    0x499581
49957f:	32 db                	xor    %bl,%bl
499581:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
499587:	e8 74 0e 03 00       	call   0x4ca400
49958c:	8a c3                	mov    %bl,%al
49958e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
499591:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
499598:	59                   	pop    %ecx
499599:	5f                   	pop    %edi
49959a:	5e                   	pop    %esi
49959b:	5b                   	pop    %ebx
49959c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49959f:	33 cd                	xor    %ebp,%ecx
4995a1:	e8 80 84 13 00       	call   0x5d1a26
4995a6:	8b e5                	mov    %ebp,%esp
4995a8:	5d                   	pop    %ebp
4995a9:	c2 08 00             	ret    $0x8
4995ac:	cc                   	int3
4995ad:	cc                   	int3
4995ae:	cc                   	int3
4995af:	cc                   	int3
4995b0:	55                   	push   %ebp
4995b1:	8b ec                	mov    %esp,%ebp
4995b3:	6a ff                	push   $0xffffffff
4995b5:	68 d8 cc 5f 00       	push   $0x5fccd8
4995ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4995c0:	50                   	push   %eax
4995c1:	81 ec b0 00 00 00    	sub    $0xb0,%esp
4995c7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4995cc:	33 c5                	xor    %ebp,%eax
4995ce:	89 45 f0             	mov    %eax,-0x10(%ebp)
4995d1:	53                   	push   %ebx
4995d2:	56                   	push   %esi
4995d3:	50                   	push   %eax
4995d4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4995d7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4995dd:	8b f1                	mov    %ecx,%esi
4995df:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4995e3:	75 07                	jne    0x4995ec
4995e5:	32 c0                	xor    %al,%al
4995e7:	e9 c9 00 00 00       	jmp    0x4996b5
4995ec:	8d 45 d8             	lea    -0x28(%ebp),%eax
4995ef:	50                   	push   %eax
4995f0:	8d 4d 08             	lea    0x8(%ebp),%ecx
4995f3:	e8 08 4d fe ff       	call   0x47e300
4995f8:	8b 4e 10             	mov    0x10(%esi),%ecx
4995fb:	8d 45 d8             	lea    -0x28(%ebp),%eax
4995fe:	50                   	push   %eax
4995ff:	83 c1 0c             	add    $0xc,%ecx
499602:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
499609:	e8 12 14 fe ff       	call   0x47aa20
49960e:	85 c0                	test   %eax,%eax
499610:	74 04                	je     0x499616
499612:	32 db                	xor    %bl,%bl
499614:	eb 6d                	jmp    0x499683
499616:	6a 00                	push   $0x0
499618:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
49961e:	e8 dd fc 02 00       	call   0x4c9300
499623:	c7 85 4c ff ff ff 58 	movl   $0x60ef58,-0xb4(%ebp)
49962a:	ef 60 00
49962d:	8b 4e 04             	mov    0x4(%esi),%ecx
499630:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
499636:	52                   	push   %edx
499637:	8d 55 d8             	lea    -0x28(%ebp),%edx
49963a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
49963e:	52                   	push   %edx
49963f:	8b 01                	mov    (%ecx),%eax
499641:	8b 40 04             	mov    0x4(%eax),%eax
499644:	ff d0                	call   *%eax
499646:	84 c0                	test   %al,%al
499648:	74 16                	je     0x499660
49964a:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
499650:	8b ce                	mov    %esi,%ecx
499652:	50                   	push   %eax
499653:	e8 38 a9 fe ff       	call   0x483f90
499658:	85 c0                	test   %eax,%eax
49965a:	74 04                	je     0x499660
49965c:	b3 01                	mov    $0x1,%bl
49965e:	eb 18                	jmp    0x499678
499660:	8b 4e 10             	mov    0x10(%esi),%ecx
499663:	8d 45 d8             	lea    -0x28(%ebp),%eax
499666:	50                   	push   %eax
499667:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
49966d:	83 c1 0c             	add    $0xc,%ecx
499670:	50                   	push   %eax
499671:	e8 da 48 00 00       	call   0x49df50
499676:	32 db                	xor    %bl,%bl
499678:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
49967e:	e8 7d 0d 03 00       	call   0x4ca400
499683:	8b 55 ec             	mov    -0x14(%ebp),%edx
499686:	83 fa 10             	cmp    $0x10,%edx
499689:	72 28                	jb     0x4996b3
49968b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
49968e:	42                   	inc    %edx
49968f:	8b c1                	mov    %ecx,%eax
499691:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
499697:	72 10                	jb     0x4996a9
499699:	8b 49 fc             	mov    -0x4(%ecx),%ecx
49969c:	83 c2 23             	add    $0x23,%edx
49969f:	2b c1                	sub    %ecx,%eax
4996a1:	83 c0 fc             	add    $0xfffffffc,%eax
4996a4:	83 f8 1f             	cmp    $0x1f,%eax
4996a7:	77 29                	ja     0x4996d2
4996a9:	52                   	push   %edx
4996aa:	51                   	push   %ecx
4996ab:	e8 a5 7b 13 00       	call   0x5d1255
4996b0:	83 c4 08             	add    $0x8,%esp
4996b3:	8a c3                	mov    %bl,%al
4996b5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4996b8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4996bf:	59                   	pop    %ecx
4996c0:	5e                   	pop    %esi
4996c1:	5b                   	pop    %ebx
4996c2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4996c5:	33 cd                	xor    %ebp,%ecx
4996c7:	e8 5a 83 13 00       	call   0x5d1a26
4996cc:	8b e5                	mov    %ebp,%esp
4996ce:	5d                   	pop    %ebp
4996cf:	c2 08 00             	ret    $0x8
4996d2:	e8 19 cb 13 00       	call   0x5d61f0
4996d7:	cc                   	int3
4996d8:	cc                   	int3
4996d9:	cc                   	int3
4996da:	cc                   	int3
4996db:	cc                   	int3
4996dc:	cc                   	int3
4996dd:	cc                   	int3
4996de:	cc                   	int3
4996df:	cc                   	int3
4996e0:	55                   	push   %ebp
4996e1:	8b ec                	mov    %esp,%ebp
4996e3:	6a ff                	push   $0xffffffff
4996e5:	68 d8 cc 5f 00       	push   $0x5fccd8
4996ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4996f0:	50                   	push   %eax
4996f1:	81 ec b0 00 00 00    	sub    $0xb0,%esp
4996f7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4996fc:	33 c5                	xor    %ebp,%eax
4996fe:	89 45 f0             	mov    %eax,-0x10(%ebp)
499701:	53                   	push   %ebx
499702:	56                   	push   %esi
499703:	50                   	push   %eax
499704:	8d 45 f4             	lea    -0xc(%ebp),%eax
499707:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
49970d:	8b f1                	mov    %ecx,%esi
49970f:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
499713:	75 07                	jne    0x49971c
499715:	32 c0                	xor    %al,%al
499717:	e9 fa 00 00 00       	jmp    0x499816
49971c:	8d 45 d8             	lea    -0x28(%ebp),%eax
49971f:	50                   	push   %eax
499720:	8d 4d 08             	lea    0x8(%ebp),%ecx
499723:	e8 d8 4b fe ff       	call   0x47e300
499728:	8b 4e 10             	mov    0x10(%esi),%ecx
49972b:	8d 45 d8             	lea    -0x28(%ebp),%eax
49972e:	50                   	push   %eax
49972f:	83 c1 2c             	add    $0x2c,%ecx
499732:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
499739:	e8 e2 12 fe ff       	call   0x47aa20
49973e:	85 c0                	test   %eax,%eax
499740:	74 07                	je     0x499749
499742:	32 db                	xor    %bl,%bl
499744:	e9 9b 00 00 00       	jmp    0x4997e4
499749:	6a 00                	push   $0x0
49974b:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
499751:	e8 aa fb 02 00       	call   0x4c9300
499756:	c7 85 4c ff ff ff 58 	movl   $0x60ef58,-0xb4(%ebp)
49975d:	ef 60 00
499760:	ff 75 0c             	push   0xc(%ebp)
499763:	8b ce                	mov    %esi,%ecx
499765:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
499769:	ff 75 08             	push   0x8(%ebp)
49976c:	e8 6f b2 ff ff       	call   0x4949e0
499771:	84 c0                	test   %al,%al
499773:	75 4c                	jne    0x4997c1
499775:	8b 4e 04             	mov    0x4(%esi),%ecx
499778:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
49977e:	52                   	push   %edx
49977f:	8d 55 d8             	lea    -0x28(%ebp),%edx
499782:	52                   	push   %edx
499783:	8b 01                	mov    (%ecx),%eax
499785:	8b 40 08             	mov    0x8(%eax),%eax
499788:	ff d0                	call   *%eax
49978a:	84 c0                	test   %al,%al
49978c:	74 33                	je     0x4997c1
49978e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
499791:	83 ec 08             	sub    $0x8,%esp
499794:	83 e0 fe             	and    $0xfffffffe,%eax
499797:	8b cc                	mov    %esp,%ecx
499799:	50                   	push   %eax
49979a:	e8 b1 c3 fd ff       	call   0x475b50
49979f:	8b 4e 10             	mov    0x10(%esi),%ecx
4997a2:	e8 19 75 ff ff       	call   0x490cc0
4997a7:	85 c0                	test   %eax,%eax
4997a9:	75 16                	jne    0x4997c1
4997ab:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
4997b1:	8b ce                	mov    %esi,%ecx
4997b3:	50                   	push   %eax
4997b4:	e8 d7 a7 fe ff       	call   0x483f90
4997b9:	85 c0                	test   %eax,%eax