49c4cb:	74 04                	je     0x49c4d1
49c4cd:	8b f8                	mov    %eax,%edi
49c4cf:	eb 0e                	jmp    0x49c4df
49c4d1:	8b 4d 08             	mov    0x8(%ebp),%ecx
49c4d4:	8b 79 08             	mov    0x8(%ecx),%edi
49c4d7:	3b ca                	cmp    %edx,%ecx
49c4d9:	0f 85 8b 00 00 00    	jne    0x49c56a
49c4df:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
49c4e3:	8b 72 04             	mov    0x4(%edx),%esi
49c4e6:	75 03                	jne    0x49c4eb
49c4e8:	89 77 04             	mov    %esi,0x4(%edi)
49c4eb:	8b 03                	mov    (%ebx),%eax
49c4ed:	39 50 04             	cmp    %edx,0x4(%eax)
49c4f0:	75 05                	jne    0x49c4f7
49c4f2:	89 78 04             	mov    %edi,0x4(%eax)
49c4f5:	eb 0b                	jmp    0x49c502
49c4f7:	39 16                	cmp    %edx,(%esi)
49c4f9:	75 04                	jne    0x49c4ff
49c4fb:	89 3e                	mov    %edi,(%esi)
49c4fd:	eb 03                	jmp    0x49c502
49c4ff:	89 7e 08             	mov    %edi,0x8(%esi)
49c502:	8b 03                	mov    (%ebx),%eax
49c504:	39 10                	cmp    %edx,(%eax)
49c506:	75 2b                	jne    0x49c533
49c508:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
49c50c:	74 04                	je     0x49c512
49c50e:	8b d6                	mov    %esi,%edx
49c510:	eb 1c                	jmp    0x49c52e
49c512:	8b 0f                	mov    (%edi),%ecx
49c514:	8b d7                	mov    %edi,%edx
49c516:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
49c51a:	75 12                	jne    0x49c52e
49c51c:	0f 1f 40 00          	nopl   0x0(%eax)
49c520:	8b 01                	mov    (%ecx),%eax
49c522:	8b d1                	mov    %ecx,%edx
49c524:	8b c8                	mov    %eax,%ecx
49c526:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
49c52a:	74 f4                	je     0x49c520
49c52c:	8b 03                	mov    (%ebx),%eax
49c52e:	89 10                	mov    %edx,(%eax)
49c530:	8b 55 fc             	mov    -0x4(%ebp),%edx
49c533:	8b 03                	mov    (%ebx),%eax
49c535:	39 50 08             	cmp    %edx,0x8(%eax)
49c538:	75 2b                	jne    0x49c565
49c53a:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
49c53e:	74 0a                	je     0x49c54a
49c540:	8b ce                	mov    %esi,%ecx
49c542:	89 48 08             	mov    %ecx,0x8(%eax)
49c545:	8a 52 0c             	mov    0xc(%edx),%dl
49c548:	eb 7c                	jmp    0x49c5c6
49c54a:	8b 47 08             	mov    0x8(%edi),%eax
49c54d:	8b cf                	mov    %edi,%ecx
49c54f:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
49c553:	75 0b                	jne    0x49c560
49c555:	8b c8                	mov    %eax,%ecx
49c557:	8b 41 08             	mov    0x8(%ecx),%eax
49c55a:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
49c55e:	74 f5                	je     0x49c555
49c560:	8b 03                	mov    (%ebx),%eax
49c562:	89 48 08             	mov    %ecx,0x8(%eax)
49c565:	8a 52 0c             	mov    0xc(%edx),%dl
49c568:	eb 5c                	jmp    0x49c5c6
49c56a:	89 48 04             	mov    %ecx,0x4(%eax)
49c56d:	8b 02                	mov    (%edx),%eax
49c56f:	89 01                	mov    %eax,(%ecx)
49c571:	3b 4a 08             	cmp    0x8(%edx),%ecx
49c574:	75 04                	jne    0x49c57a
49c576:	8b f1                	mov    %ecx,%esi
49c578:	eb 1a                	jmp    0x49c594
49c57a:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
49c57e:	8b 71 04             	mov    0x4(%ecx),%esi
49c581:	75 03                	jne    0x49c586
49c583:	89 77 04             	mov    %esi,0x4(%edi)
49c586:	89 3e                	mov    %edi,(%esi)
49c588:	8b 42 08             	mov    0x8(%edx),%eax
49c58b:	89 41 08             	mov    %eax,0x8(%ecx)
49c58e:	8b 42 08             	mov    0x8(%edx),%eax
49c591:	89 48 04             	mov    %ecx,0x4(%eax)
49c594:	8b 03                	mov    (%ebx),%eax
49c596:	39 50 04             	cmp    %edx,0x4(%eax)
49c599:	75 05                	jne    0x49c5a0
49c59b:	89 48 04             	mov    %ecx,0x4(%eax)
49c59e:	eb 0e                	jmp    0x49c5ae
49c5a0:	8b 42 04             	mov    0x4(%edx),%eax
49c5a3:	39 10                	cmp    %edx,(%eax)
49c5a5:	75 04                	jne    0x49c5ab
49c5a7:	89 08                	mov    %ecx,(%eax)
49c5a9:	eb 03                	jmp    0x49c5ae
49c5ab:	89 48 08             	mov    %ecx,0x8(%eax)
49c5ae:	8b 42 04             	mov    0x4(%edx),%eax
49c5b1:	8a 51 0c             	mov    0xc(%ecx),%dl
49c5b4:	89 41 04             	mov    %eax,0x4(%ecx)
49c5b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
49c5ba:	8a 40 0c             	mov    0xc(%eax),%al
49c5bd:	88 41 0c             	mov    %al,0xc(%ecx)
49c5c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
49c5c3:	88 50 0c             	mov    %dl,0xc(%eax)
49c5c6:	80 fa 01             	cmp    $0x1,%dl
49c5c9:	0f 85 46 01 00 00    	jne    0x49c715
49c5cf:	8b 03                	mov    (%ebx),%eax
49c5d1:	3b 78 04             	cmp    0x4(%eax),%edi
49c5d4:	0f 84 37 01 00 00    	je     0x49c711
49c5da:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
49c5e0:	80 7f 0c 01          	cmpb   $0x1,0xc(%edi)
49c5e4:	89 75 f8             	mov    %esi,-0x8(%ebp)
49c5e7:	0f 85 24 01 00 00    	jne    0x49c711
49c5ed:	8b 0e                	mov    (%esi),%ecx
49c5ef:	3b f9                	cmp    %ecx,%edi
49c5f1:	0f 85 a2 00 00 00    	jne    0x49c699
49c5f7:	8b 4e 08             	mov    0x8(%esi),%ecx
49c5fa:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
49c5fe:	75 43                	jne    0x49c643
49c600:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
49c604:	8b 4e 08             	mov    0x8(%esi),%ecx
49c607:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
49c60b:	8b 01                	mov    (%ecx),%eax
49c60d:	89 46 08             	mov    %eax,0x8(%esi)
49c610:	8b 01                	mov    (%ecx),%eax
49c612:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
49c616:	75 03                	jne    0x49c61b
49c618:	89 70 04             	mov    %esi,0x4(%eax)
49c61b:	8b 46 04             	mov    0x4(%esi),%eax
49c61e:	89 41 04             	mov    %eax,0x4(%ecx)
49c621:	8b 03                	mov    (%ebx),%eax
49c623:	3b 70 04             	cmp    0x4(%eax),%esi
49c626:	75 05                	jne    0x49c62d
49c628:	89 48 04             	mov    %ecx,0x4(%eax)
49c62b:	eb 0e                	jmp    0x49c63b
49c62d:	8b 46 04             	mov    0x4(%esi),%eax
49c630:	3b 30                	cmp    (%eax),%esi
49c632:	75 04                	jne    0x49c638
49c634:	89 08                	mov    %ecx,(%eax)
49c636:	eb 03                	jmp    0x49c63b
49c638:	89 48 08             	mov    %ecx,0x8(%eax)
49c63b:	89 31                	mov    %esi,(%ecx)
49c63d:	89 4e 04             	mov    %ecx,0x4(%esi)
49c640:	8b 4e 08             	mov    0x8(%esi),%ecx
49c643:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
49c647:	0f 85 b1 00 00 00    	jne    0x49c6fe
49c64d:	8b 11                	mov    (%ecx),%edx
49c64f:	80 7a 0c 01          	cmpb   $0x1,0xc(%edx)
49c653:	75 0d                	jne    0x49c662
49c655:	8b 41 08             	mov    0x8(%ecx),%eax
49c658:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
49c65c:	0f 84 98 00 00 00    	je     0x49c6fa
49c662:	8b 41 08             	mov    0x8(%ecx),%eax
49c665:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
49c669:	75 13                	jne    0x49c67e
49c66b:	c6 42 0c 01          	movb   $0x1,0xc(%edx)
49c66f:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
49c673:	51                   	push   %ecx
49c674:	8b cb                	mov    %ebx,%ecx
49c676:	e8 e5 0b 00 00       	call   0x49d260
49c67b:	8b 4e 08             	mov    0x8(%esi),%ecx
49c67e:	8a 46 0c             	mov    0xc(%esi),%al
49c681:	88 41 0c             	mov    %al,0xc(%ecx)
49c684:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
49c688:	8b 41 08             	mov    0x8(%ecx),%eax
49c68b:	8b cb                	mov    %ebx,%ecx
49c68d:	56                   	push   %esi
49c68e:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
49c692:	e8 d9 0a 00 00       	call   0x49d170
49c697:	eb 78                	jmp    0x49c711
49c699:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
49c69d:	75 44                	jne    0x49c6e3
49c69f:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
49c6a3:	8b 0e                	mov    (%esi),%ecx
49c6a5:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
49c6a9:	8b 41 08             	mov    0x8(%ecx),%eax
49c6ac:	89 06                	mov    %eax,(%esi)
49c6ae:	8b 41 08             	mov    0x8(%ecx),%eax
49c6b1:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
49c6b5:	75 03                	jne    0x49c6ba
49c6b7:	89 70 04             	mov    %esi,0x4(%eax)
49c6ba:	8b 46 04             	mov    0x4(%esi),%eax
49c6bd:	89 41 04             	mov    %eax,0x4(%ecx)
49c6c0:	8b 03                	mov    (%ebx),%eax
49c6c2:	3b 70 04             	cmp    0x4(%eax),%esi
49c6c5:	75 05                	jne    0x49c6cc
49c6c7:	89 48 04             	mov    %ecx,0x4(%eax)
49c6ca:	eb 0f                	jmp    0x49c6db
49c6cc:	8b 46 04             	mov    0x4(%esi),%eax
49c6cf:	3b 70 08             	cmp    0x8(%eax),%esi
49c6d2:	75 05                	jne    0x49c6d9
49c6d4:	89 48 08             	mov    %ecx,0x8(%eax)
49c6d7:	eb 02                	jmp    0x49c6db
49c6d9:	89 08                	mov    %ecx,(%eax)
49c6db:	89 71 08             	mov    %esi,0x8(%ecx)
49c6de:	89 4e 04             	mov    %ecx,0x4(%esi)
49c6e1:	8b 0e                	mov    (%esi),%ecx
49c6e3:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
49c6e7:	75 15                	jne    0x49c6fe
49c6e9:	8b 51 08             	mov    0x8(%ecx),%edx
49c6ec:	80 7a 0c 01          	cmpb   $0x1,0xc(%edx)
49c6f0:	75 3a                	jne    0x49c72c
49c6f2:	8b 01                	mov    (%ecx),%eax
49c6f4:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
49c6f8:	75 32                	jne    0x49c72c
49c6fa:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
49c6fe:	8b 03                	mov    (%ebx),%eax
49c700:	8b 4d f8             	mov    -0x8(%ebp),%ecx
49c703:	8b f9                	mov    %ecx,%edi
49c705:	8b 76 04             	mov    0x4(%esi),%esi
49c708:	3b 48 04             	cmp    0x4(%eax),%ecx
49c70b:	0f 85 cf fe ff ff    	jne    0x49c5e0
49c711:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
49c715:	8b 4b 04             	mov    0x4(%ebx),%ecx
49c718:	8b 45 fc             	mov    -0x4(%ebp),%eax
49c71b:	85 c9                	test   %ecx,%ecx
49c71d:	74 04                	je     0x49c723
49c71f:	49                   	dec    %ecx
49c720:	89 4b 04             	mov    %ecx,0x4(%ebx)
49c723:	5f                   	pop    %edi
49c724:	5e                   	pop    %esi
49c725:	5b                   	pop    %ebx
49c726:	8b e5                	mov    %ebp,%esp
49c728:	5d                   	pop    %ebp
49c729:	c2 04 00             	ret    $0x4
49c72c:	8b 01                	mov    (%ecx),%eax
49c72e:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
49c732:	75 12                	jne    0x49c746
49c734:	c6 42 0c 01          	movb   $0x1,0xc(%edx)
49c738:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
49c73c:	51                   	push   %ecx
49c73d:	8b cb                	mov    %ebx,%ecx
49c73f:	e8 2c 0a 00 00       	call   0x49d170
49c744:	8b 0e                	mov    (%esi),%ecx
49c746:	8a 46 0c             	mov    0xc(%esi),%al
49c749:	88 41 0c             	mov    %al,0xc(%ecx)
49c74c:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
49c750:	8b 01                	mov    (%ecx),%eax
49c752:	8b cb                	mov    %ebx,%ecx
49c754:	56                   	push   %esi
49c755:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
49c759:	e8 02 0b 00 00       	call   0x49d260
49c75e:	eb b1                	jmp    0x49c711
49c760:	55                   	push   %ebp
49c761:	8b ec                	mov    %esp,%ebp
49c763:	83 ec 0c             	sub    $0xc,%esp
49c766:	8b 55 08             	mov    0x8(%ebp),%edx
49c769:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
49c76e:	53                   	push   %ebx
49c76f:	8b d9                	mov    %ecx,%ebx
49c771:	0f bd c8             	bsr    %eax,%ecx
49c774:	56                   	push   %esi
49c775:	57                   	push   %edi
49c776:	bf 01 00 00 00       	mov    $0x1,%edi
49c77b:	89 5d f4             	mov    %ebx,-0xc(%ebp)
49c77e:	8b c7                	mov    %edi,%eax
49c780:	d3 e0                	shl    %cl,%eax
49c782:	3b d0                	cmp    %eax,%edx
49c784:	0f 87 27 01 00 00    	ja     0x49c8b1
49c78a:	8b 73 04             	mov    0x4(%ebx),%esi
49c78d:	8d 42 ff             	lea    -0x1(%edx),%eax
49c790:	0b c7                	or     %edi,%eax
49c792:	89 75 08             	mov    %esi,0x8(%ebp)
49c795:	0f bd c8             	bsr    %eax,%ecx
49c798:	56                   	push   %esi
49c799:	8d 49 01             	lea    0x1(%ecx),%ecx
49c79c:	d3 e7                	shl    %cl,%edi
49c79e:	8d 4b 0c             	lea    0xc(%ebx),%ecx
49c7a1:	8d 04 3f             	lea    (%edi,%edi,1),%eax
49c7a4:	50                   	push   %eax
49c7a5:	e8 36 c1 fb ff       	call   0x4588e0
49c7aa:	8b 4b 04             	mov    0x4(%ebx),%ecx
49c7ad:	8d 47 ff             	lea    -0x1(%edi),%eax
49c7b0:	89 43 18             	mov    %eax,0x18(%ebx)
49c7b3:	89 7b 1c             	mov    %edi,0x1c(%ebx)
49c7b6:	8b 09                	mov    (%ecx),%ecx
49c7b8:	8b d1                	mov    %ecx,%edx
49c7ba:	3b ce                	cmp    %esi,%ecx
49c7bc:	0f 84 c5 00 00 00    	je     0x49c887
49c7c2:	69 41 08 1b 01 00 01 	imul   $0x100011b,0x8(%ecx),%eax
49c7c9:	8b 59 0c             	mov    0xc(%ecx),%ebx
49c7cc:	8b 12                	mov    (%edx),%edx
49c7ce:	69 fb 93 01 00 01    	imul   $0x1000193,%ebx,%edi
49c7d4:	33 f8                	xor    %eax,%edi
49c7d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
49c7d9:	23 78 18             	and    0x18(%eax),%edi
49c7dc:	8b 40 0c             	mov    0xc(%eax),%eax
49c7df:	8d 04 f8             	lea    (%eax,%edi,8),%eax
49c7e2:	8b 38                	mov    (%eax),%edi
49c7e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
49c7e7:	3b fe                	cmp    %esi,%edi
49c7e9:	75 0a                	jne    0x49c7f5
49c7eb:	89 08                	mov    %ecx,(%eax)
49c7ed:	89 48 04             	mov    %ecx,0x4(%eax)
49c7f0:	e9 88 00 00 00       	jmp    0x49c87d
49c7f5:	8b 40 04             	mov    0x4(%eax),%eax
49c7f8:	8b 71 08             	mov    0x8(%ecx),%esi
49c7fb:	3b 70 08             	cmp    0x8(%eax),%esi
49c7fe:	8b 75 08             	mov    0x8(%ebp),%esi
49c801:	75 34                	jne    0x49c837
49c803:	3b 58 0c             	cmp    0xc(%eax),%ebx
49c806:	75 2f                	jne    0x49c837
49c808:	8b 00                	mov    (%eax),%eax
49c80a:	89 45 fc             	mov    %eax,-0x4(%ebp)
49c80d:	3b c1                	cmp    %ecx,%eax
49c80f:	74 1e                	je     0x49c82f
49c811:	8b 59 04             	mov    0x4(%ecx),%ebx
49c814:	8b 75 fc             	mov    -0x4(%ebp),%esi
49c817:	89 13                	mov    %edx,(%ebx)
49c819:	8b 7a 04             	mov    0x4(%edx),%edi
49c81c:	89 07                	mov    %eax,(%edi)
49c81e:	8b 40 04             	mov    0x4(%eax),%eax
49c821:	89 08                	mov    %ecx,(%eax)
49c823:	89 7e 04             	mov    %edi,0x4(%esi)
49c826:	8b 75 08             	mov    0x8(%ebp),%esi
49c829:	89 5a 04             	mov    %ebx,0x4(%edx)
49c82c:	89 41 04             	mov    %eax,0x4(%ecx)
49c82f:	8b 45 f8             	mov    -0x8(%ebp),%eax
49c832:	89 48 04             	mov    %ecx,0x4(%eax)
49c835:	eb 46                	jmp    0x49c87d
49c837:	89 45 fc             	mov    %eax,-0x4(%ebp)
49c83a:	3b f8                	cmp    %eax,%edi
49c83c:	74 19                	je     0x49c857
49c83e:	66 90                	xchg   %ax,%ax
49c840:	8b 40 04             	mov    0x4(%eax),%eax
49c843:	8b 71 08             	mov    0x8(%ecx),%esi
49c846:	89 45 fc             	mov    %eax,-0x4(%ebp)
49c849:	3b 70 08             	cmp    0x8(%eax),%esi
49c84c:	75 05                	jne    0x49c853
49c84e:	3b 58 0c             	cmp    0xc(%eax),%ebx
49c851:	74 3d                	je     0x49c890
49c853:	3b f8                	cmp    %eax,%edi
49c855:	75 e9                	jne    0x49c840
49c857:	8b 59 04             	mov    0x4(%ecx),%ebx
49c85a:	8b 45 fc             	mov    -0x4(%ebp),%eax
49c85d:	8b 75 fc             	mov    -0x4(%ebp),%esi
49c860:	89 13                	mov    %edx,(%ebx)
49c862:	8b 7a 04             	mov    0x4(%edx),%edi
49c865:	89 07                	mov    %eax,(%edi)
49c867:	8b 40 04             	mov    0x4(%eax),%eax
49c86a:	89 08                	mov    %ecx,(%eax)
49c86c:	89 7e 04             	mov    %edi,0x4(%esi)
49c86f:	89 5a 04             	mov    %ebx,0x4(%edx)
49c872:	89 41 04             	mov    %eax,0x4(%ecx)
49c875:	8b 45 f8             	mov    -0x8(%ebp),%eax
49c878:	89 08                	mov    %ecx,(%eax)
49c87a:	8b 75 08             	mov    0x8(%ebp),%esi
49c87d:	8b ca                	mov    %edx,%ecx
49c87f:	3b d6                	cmp    %esi,%edx
49c881:	0f 85 3b ff ff ff    	jne    0x49c7c2
49c887:	5f                   	pop    %edi
49c888:	5e                   	pop    %esi
49c889:	5b                   	pop    %ebx
49c88a:	8b e5                	mov    %ebp,%esp
49c88c:	5d                   	pop    %ebp
49c88d:	c2 04 00             	ret    $0x4
49c890:	8b 59 04             	mov    0x4(%ecx),%ebx