4d9510:	ff 76 20             	push   0x20(%esi)
4d9513:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4d9516:	e8 03 2d f5 ff       	call   0x42c21e
4d951b:	8b 36                	mov    (%esi),%esi
4d951d:	3b f7                	cmp    %edi,%esi
4d951f:	75 ef                	jne    0x4d9510
4d9521:	8b 5d b0             	mov    -0x50(%ebp),%ebx
4d9524:	89 5d c0             	mov    %ebx,-0x40(%ebp)
4d9527:	8a 45 d4             	mov    -0x2c(%ebp),%al
4d952a:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4d952d:	8b ce                	mov    %esi,%ecx
4d952f:	88 45 d4             	mov    %al,-0x2c(%ebp)
4d9532:	2b cb                	sub    %ebx,%ecx
4d9534:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4d9537:	50                   	push   %eax
4d9538:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
4d953d:	f7 e9                	imul   %ecx
4d953f:	c1 fa 04             	sar    $0x4,%edx
4d9542:	8b c2                	mov    %edx,%eax
4d9544:	c1 e8 1f             	shr    $0x1f,%eax
4d9547:	03 c2                	add    %edx,%eax
4d9549:	50                   	push   %eax
4d954a:	56                   	push   %esi
4d954b:	53                   	push   %ebx
4d954c:	e8 9a de f3 ff       	call   0x4173eb
4d9551:	83 c4 10             	add    $0x10,%esp
4d9554:	3b de                	cmp    %esi,%ebx
4d9556:	0f 84 67 04 00 00    	je     0x4d99c3
4d955c:	8d 7b 08             	lea    0x8(%ebx),%edi
4d955f:	89 7d ac             	mov    %edi,-0x54(%ebp)
4d9562:	6a 01                	push   $0x1
4d9564:	68 d8 99 bd 00       	push   $0xbd99d8
4d9569:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4d956c:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4d9573:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4d957a:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4d957e:	e8 0e b1 f3 ff       	call   0x414691
4d9583:	8b 75 bc             	mov    -0x44(%ebp),%esi
4d9586:	8d 45 d8             	lea    -0x28(%ebp),%eax
4d9589:	50                   	push   %eax
4d958a:	8b ce                	mov    %esi,%ecx
4d958c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4d9590:	e8 81 a0 f2 ff       	call   0x403616
4d9595:	8b 45 ec             	mov    -0x14(%ebp),%eax
4d9598:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4d959c:	83 f8 10             	cmp    $0x10,%eax
4d959f:	72 3e                	jb     0x4d95df
4d95a1:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4d95a4:	40                   	inc    %eax
4d95a5:	3d 00 10 00 00       	cmp    $0x1000,%eax
4d95aa:	72 2a                	jb     0x4d95d6
4d95ac:	f6 c1 1f             	test   $0x1f,%cl
4d95af:	0f 85 e6 04 00 00    	jne    0x4d9a9b
4d95b5:	8b 41 fc             	mov    -0x4(%ecx),%eax
4d95b8:	3b c1                	cmp    %ecx,%eax
4d95ba:	0f 83 db 04 00 00    	jae    0x4d9a9b
4d95c0:	2b c8                	sub    %eax,%ecx
4d95c2:	83 f9 04             	cmp    $0x4,%ecx
4d95c5:	0f 82 d0 04 00 00    	jb     0x4d9a9b
4d95cb:	83 f9 23             	cmp    $0x23,%ecx
4d95ce:	0f 87 c7 04 00 00    	ja     0x4d9a9b
4d95d4:	8b c8                	mov    %eax,%ecx
4d95d6:	51                   	push   %ecx
4d95d7:	e8 b3 81 f2 ff       	call   0x40178f
4d95dc:	83 c4 04             	add    $0x4,%esp
4d95df:	8d 47 34             	lea    0x34(%edi),%eax
4d95e2:	8b ce                	mov    %esi,%ecx
4d95e4:	50                   	push   %eax
4d95e5:	e8 2c a0 f2 ff       	call   0x403616
4d95ea:	6a 02                	push   $0x2
4d95ec:	68 dc 99 bd 00       	push   $0xbd99dc
4d95f1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4d95f4:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4d95fb:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4d9602:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4d9606:	e8 86 b0 f3 ff       	call   0x414691
4d960b:	8d 45 d8             	lea    -0x28(%ebp),%eax
4d960e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4d9612:	50                   	push   %eax
4d9613:	8b ce                	mov    %esi,%ecx
4d9615:	e8 fc 9f f2 ff       	call   0x403616
4d961a:	8b 45 ec             	mov    -0x14(%ebp),%eax
4d961d:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4d9621:	83 f8 10             	cmp    $0x10,%eax
4d9624:	72 3e                	jb     0x4d9664
4d9626:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4d9629:	40                   	inc    %eax
4d962a:	3d 00 10 00 00       	cmp    $0x1000,%eax
4d962f:	72 2a                	jb     0x4d965b
4d9631:	f6 c1 1f             	test   $0x1f,%cl
4d9634:	0f 85 61 04 00 00    	jne    0x4d9a9b
4d963a:	8b 41 fc             	mov    -0x4(%ecx),%eax
4d963d:	3b c1                	cmp    %ecx,%eax
4d963f:	0f 83 56 04 00 00    	jae    0x4d9a9b
4d9645:	2b c8                	sub    %eax,%ecx
4d9647:	83 f9 04             	cmp    $0x4,%ecx
4d964a:	0f 82 4b 04 00 00    	jb     0x4d9a9b
4d9650:	83 f9 23             	cmp    $0x23,%ecx
4d9653:	0f 87 42 04 00 00    	ja     0x4d9a9b
4d9659:	8b c8                	mov    %eax,%ecx
4d965b:	51                   	push   %ecx
4d965c:	e8 2e 81 f2 ff       	call   0x40178f
4d9661:	83 c4 04             	add    $0x4,%esp
4d9664:	33 c0                	xor    %eax,%eax
4d9666:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4d9669:	89 45 c8             	mov    %eax,-0x38(%ebp)
4d966c:	89 45 cc             	mov    %eax,-0x34(%ebp)
4d966f:	8b 4f 04             	mov    0x4(%edi),%ecx
4d9672:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4d9676:	85 c9                	test   %ecx,%ecx
4d9678:	74 18                	je     0x4d9692
4d967a:	81 f9 0b 59 c8 02    	cmp    $0x2c8590b,%ecx
4d9680:	0f 87 5f fe ff ff    	ja     0x4d94e5
4d9686:	51                   	push   %ecx
4d9687:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4d968a:	e8 e5 09 f3 ff       	call   0x40a074
4d968f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4d9692:	8b 3f                	mov    (%edi),%edi
4d9694:	8b 37                	mov    (%edi),%esi
4d9696:	3b f7                	cmp    %edi,%esi
4d9698:	0f 84 9c 00 00 00    	je     0x4d973a
4d969e:	8b 5d c8             	mov    -0x38(%ebp),%ebx
4d96a1:	eb 03                	jmp    0x4d96a6
4d96a3:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4d96a6:	8b 4e 20             	mov    0x20(%esi),%ecx
4d96a9:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4d96ac:	3b cb                	cmp    %ebx,%ecx
4d96ae:	73 48                	jae    0x4d96f8
4d96b0:	3b c1                	cmp    %ecx,%eax
4d96b2:	77 44                	ja     0x4d96f8
4d96b4:	2b c8                	sub    %eax,%ecx
4d96b6:	b8 c9 42 16 b2       	mov    $0xb21642c9,%eax
4d96bb:	f7 e9                	imul   %ecx
4d96bd:	03 d1                	add    %ecx,%edx
4d96bf:	c1 fa 06             	sar    $0x6,%edx
4d96c2:	8b c2                	mov    %edx,%eax
4d96c4:	c1 e8 1f             	shr    $0x1f,%eax
4d96c7:	03 c2                	add    %edx,%eax
4d96c9:	89 45 d0             	mov    %eax,-0x30(%ebp)
4d96cc:	3b 5d cc             	cmp    -0x34(%ebp),%ebx
4d96cf:	75 10                	jne    0x4d96e1
4d96d1:	6a 01                	push   $0x1
4d96d3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4d96d6:	e8 54 28 f6 ff       	call   0x43bf2f
4d96db:	8b 5d c8             	mov    -0x38(%ebp),%ebx
4d96de:	8b 45 d0             	mov    -0x30(%ebp),%eax
4d96e1:	6b c0 5c             	imul   $0x5c,%eax,%eax
4d96e4:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4d96e7:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4d96ea:	03 45 c4             	add    -0x3c(%ebp),%eax
4d96ed:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4d96f1:	85 db                	test   %ebx,%ebx
4d96f3:	74 2e                	je     0x4d9723
4d96f5:	50                   	push   %eax
4d96f6:	eb 24                	jmp    0x4d971c
4d96f8:	3b 5d cc             	cmp    -0x34(%ebp),%ebx
4d96fb:	75 10                	jne    0x4d970d
4d96fd:	6a 01                	push   $0x1
4d96ff:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4d9702:	e8 28 28 f6 ff       	call   0x43bf2f
4d9707:	8b 5d c8             	mov    -0x38(%ebp),%ebx
4d970a:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4d970d:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4d9710:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4d9713:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4d9717:	85 db                	test   %ebx,%ebx
4d9719:	74 08                	je     0x4d9723
4d971b:	51                   	push   %ecx
4d971c:	8b cb                	mov    %ebx,%ecx
4d971e:	e8 26 57 f3 ff       	call   0x40ee49
4d9723:	8b 36                	mov    (%esi),%esi
4d9725:	83 c3 5c             	add    $0x5c,%ebx
4d9728:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4d972b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4d972f:	3b f7                	cmp    %edi,%esi
4d9731:	0f 85 6c ff ff ff    	jne    0x4d96a3
4d9737:	8b 5d c0             	mov    -0x40(%ebp),%ebx
4d973a:	8a 45 d4             	mov    -0x2c(%ebp),%al
4d973d:	8b 75 c8             	mov    -0x38(%ebp),%esi
4d9740:	8b ce                	mov    %esi,%ecx
4d9742:	8b 7d c4             	mov    -0x3c(%ebp),%edi
4d9745:	2b cf                	sub    %edi,%ecx
4d9747:	88 45 d4             	mov    %al,-0x2c(%ebp)
4d974a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4d974d:	50                   	push   %eax
4d974e:	b8 c9 42 16 b2       	mov    $0xb21642c9,%eax
4d9753:	f7 e9                	imul   %ecx
4d9755:	03 d1                	add    %ecx,%edx
4d9757:	c1 fa 06             	sar    $0x6,%edx
4d975a:	8b c2                	mov    %edx,%eax
4d975c:	c1 e8 1f             	shr    $0x1f,%eax
4d975f:	03 c2                	add    %edx,%eax
4d9761:	50                   	push   %eax
4d9762:	56                   	push   %esi
4d9763:	57                   	push   %edi
4d9764:	e8 15 0c f5 ff       	call   0x42a37e
4d9769:	83 c4 10             	add    $0x10,%esp
4d976c:	3b fe                	cmp    %esi,%edi
4d976e:	0f 84 2b 02 00 00    	je     0x4d999f
4d9774:	83 c7 38             	add    $0x38,%edi
4d9777:	89 7d d0             	mov    %edi,-0x30(%ebp)
4d977a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4d9780:	8b 47 18             	mov    0x18(%edi),%eax
4d9783:	3b 47 1c             	cmp    0x1c(%edi),%eax
4d9786:	0f 85 d9 00 00 00    	jne    0x4d9865
4d978c:	8b 75 bc             	mov    -0x44(%ebp),%esi
4d978f:	8b ce                	mov    %esi,%ecx
4d9791:	57                   	push   %edi
4d9792:	e8 7f 9e f2 ff       	call   0x403616
4d9797:	6a 01                	push   $0x1
4d9799:	68 f0 6d bd 00       	push   $0xbd6df0
4d979e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4d97a1:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4d97a8:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4d97af:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4d97b3:	e8 d9 ae f3 ff       	call   0x414691
4d97b8:	8d 45 d8             	lea    -0x28(%ebp),%eax
4d97bb:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
4d97bf:	50                   	push   %eax
4d97c0:	8b ce                	mov    %esi,%ecx
4d97c2:	e8 4f 9e f2 ff       	call   0x403616
4d97c7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4d97ca:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4d97ce:	83 f8 10             	cmp    $0x10,%eax
4d97d1:	72 3e                	jb     0x4d9811
4d97d3:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4d97d6:	40                   	inc    %eax
4d97d7:	3d 00 10 00 00       	cmp    $0x1000,%eax
4d97dc:	72 2a                	jb     0x4d9808
4d97de:	f6 c1 1f             	test   $0x1f,%cl
4d97e1:	0f 85 b4 02 00 00    	jne    0x4d9a9b
4d97e7:	8b 41 fc             	mov    -0x4(%ecx),%eax
4d97ea:	3b c1                	cmp    %ecx,%eax
4d97ec:	0f 83 a9 02 00 00    	jae    0x4d9a9b
4d97f2:	2b c8                	sub    %eax,%ecx
4d97f4:	83 f9 04             	cmp    $0x4,%ecx
4d97f7:	0f 82 9e 02 00 00    	jb     0x4d9a9b
4d97fd:	83 f9 23             	cmp    $0x23,%ecx
4d9800:	0f 87 95 02 00 00    	ja     0x4d9a9b
4d9806:	8b c8                	mov    %eax,%ecx
4d9808:	51                   	push   %ecx
4d9809:	e8 81 7f f2 ff       	call   0x40178f
4d980e:	83 c4 04             	add    $0x4,%esp
4d9811:	6a 01                	push   $0x1
4d9813:	68 e0 99 bd 00       	push   $0xbd99e0
4d9818:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4d981b:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4d9822:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4d9829:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4d982d:	e8 5f ae f3 ff       	call   0x414691
4d9832:	8d 45 d8             	lea    -0x28(%ebp),%eax
4d9835:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
4d9839:	50                   	push   %eax
4d983a:	8b ce                	mov    %esi,%ecx
4d983c:	e8 d5 9d f2 ff       	call   0x403616
4d9841:	8b 45 ec             	mov    -0x14(%ebp),%eax
4d9844:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4d9848:	83 f8 10             	cmp    $0x10,%eax
4d984b:	0f 82 3c 01 00 00    	jb     0x4d998d
4d9851:	40                   	inc    %eax
4d9852:	6a 01                	push   $0x1
4d9854:	50                   	push   %eax
4d9855:	ff 75 d8             	push   -0x28(%ebp)
4d9858:	e8 f9 29 f4 ff       	call   0x41c256
4d985d:	83 c4 0c             	add    $0xc,%esp
4d9860:	e9 28 01 00 00       	jmp    0x4d998d
4d9865:	6a 02                	push   $0x2
4d9867:	68 74 98 bd 00       	push   $0xbd9874
4d986c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4d986f:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4d9876:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4d987d:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4d9881:	e8 0b ae f3 ff       	call   0x414691
4d9886:	8d 45 d8             	lea    -0x28(%ebp),%eax
4d9889:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4d988d:	50                   	push   %eax
4d988e:	8d 47 e8             	lea    -0x18(%edi),%eax
4d9891:	50                   	push   %eax
4d9892:	e8 8b e8 f5 ff       	call   0x438122
4d9897:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4d989a:	83 c4 08             	add    $0x8,%esp
4d989d:	88 45 d4             	mov    %al,-0x2c(%ebp)
4d98a0:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4d98a4:	83 f9 10             	cmp    $0x10,%ecx
4d98a7:	72 12                	jb     0x4d98bb
4d98a9:	41                   	inc    %ecx
4d98aa:	6a 01                	push   $0x1
4d98ac:	51                   	push   %ecx
4d98ad:	ff 75 d8             	push   -0x28(%ebp)
4d98b0:	e8 a1 29 f4 ff       	call   0x41c256
4d98b5:	8a 45 d4             	mov    -0x2c(%ebp),%al
4d98b8:	83 c4 0c             	add    $0xc,%esp
4d98bb:	84 c0                	test   %al,%al
4d98bd:	0f 84 26 01 00 00    	je     0x4d99e9
4d98c3:	8b 77 18             	mov    0x18(%edi),%esi
4d98c6:	8b 7f 1c             	mov    0x1c(%edi),%edi
4d98c9:	3b f7                	cmp    %edi,%esi
4d98cb:	0f 84 b9 00 00 00    	je     0x4d998a
4d98d1:	8b 5d bc             	mov    -0x44(%ebp),%ebx
4d98d4:	ff 75 d0             	push   -0x30(%ebp)
4d98d7:	8b cb                	mov    %ebx,%ecx
4d98d9:	e8 38 9d f2 ff       	call   0x403616
4d98de:	6a 01                	push   $0x1
4d98e0:	68 f0 6d bd 00       	push   $0xbd6df0
4d98e5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4d98e8:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4d98ef:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4d98f6:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4d98fa:	e8 92 ad f3 ff       	call   0x414691
4d98ff:	8d 45 d8             	lea    -0x28(%ebp),%eax
4d9902:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
4d9906:	50                   	push   %eax
4d9907:	8b cb                	mov    %ebx,%ecx
4d9909:	e8 08 9d f2 ff       	call   0x403616
4d990e:	8b 45 ec             	mov    -0x14(%ebp),%eax
4d9911:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4d9915:	83 f8 10             	cmp    $0x10,%eax
4d9918:	72 0f                	jb     0x4d9929
4d991a:	40                   	inc    %eax
4d991b:	6a 01                	push   $0x1
4d991d:	50                   	push   %eax
4d991e:	ff 75 d8             	push   -0x28(%ebp)
4d9921:	e8 30 29 f4 ff       	call   0x41c256
4d9926:	83 c4 0c             	add    $0xc,%esp
4d9929:	56                   	push   %esi
4d992a:	8b cb                	mov    %ebx,%ecx
4d992c:	e8 e5 9c f2 ff       	call   0x403616
4d9931:	6a 01                	push   $0x1
4d9933:	68 e0 99 bd 00       	push   $0xbd99e0
4d9938:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4d993b:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4d9942:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4d9949:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4d994d:	e8 3f ad f3 ff       	call   0x414691
4d9952:	8d 45 d8             	lea    -0x28(%ebp),%eax
4d9955:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4d9959:	50                   	push   %eax
4d995a:	8b cb                	mov    %ebx,%ecx
4d995c:	e8 b5 9c f2 ff       	call   0x403616
4d9961:	8b 45 ec             	mov    -0x14(%ebp),%eax
4d9964:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4d9968:	83 f8 10             	cmp    $0x10,%eax
4d996b:	72 0f                	jb     0x4d997c
4d996d:	40                   	inc    %eax
4d996e:	6a 01                	push   $0x1
4d9970:	50                   	push   %eax
4d9971:	ff 75 d8             	push   -0x28(%ebp)
4d9974:	e8 dd 28 f4 ff       	call   0x41c256
4d9979:	83 c4 0c             	add    $0xc,%esp
4d997c:	83 c6 18             	add    $0x18,%esi