4d951a:	50                   	push   %eax
4d951b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4d951e:	2b 4d e8             	sub    -0x18(%ebp),%ecx
4d9521:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d9524:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9527:	e8 78 fb ff ff       	call   0x4d90a4
4d952c:	8b 45 e0             	mov    -0x20(%ebp),%eax
4d952f:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d9532:	e9 1c 02 00 00       	jmp    0x4d9753
4d9537:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d953a:	f7 d0                	not    %eax
4d953c:	83 e0 01             	and    $0x1,%eax
4d953f:	89 45 f4             	mov    %eax,-0xc(%ebp)
4d9542:	33 c0                	xor    %eax,%eax
4d9544:	89 45 dc             	mov    %eax,-0x24(%ebp)
4d9547:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d954a:	50                   	push   %eax
4d954b:	8b 45 0c             	mov    0xc(%ebp),%eax
4d954e:	50                   	push   %eax
4d954f:	8b ce                	mov    %esi,%ecx
4d9551:	8b 55 f8             	mov    -0x8(%ebp),%edx
4d9554:	8b c7                	mov    %edi,%eax
4d9556:	e8 1d fa ff ff       	call   0x4d8f78
4d955b:	8b d8                	mov    %eax,%ebx
4d955d:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
4d9560:	8b 55 f4             	mov    -0xc(%ebp),%edx
4d9563:	c1 e2 06             	shl    $0x6,%edx
4d9566:	8d 14 52             	lea    (%edx,%edx,2),%edx
4d9569:	8d 14 d5 68 bd 68 00 	lea    0x68bd68(,%edx,8),%edx
4d9570:	03 34 82             	add    (%edx,%eax,4),%esi
4d9573:	8b 55 f4             	mov    -0xc(%ebp),%edx
4d9576:	c1 e2 06             	shl    $0x6,%edx
4d9579:	8d 14 52             	lea    (%edx,%edx,2),%edx
4d957c:	8d 14 d5 68 bd 68 00 	lea    0x68bd68(,%edx,8),%edx
4d9583:	8b 44 82 08          	mov    0x8(%edx,%eax,4),%eax
4d9587:	01 45 dc             	add    %eax,-0x24(%ebp)
4d958a:	83 fb 40             	cmp    $0x40,%ebx
4d958d:	7d b8                	jge    0x4d9547
4d958f:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d9592:	89 45 f4             	mov    %eax,-0xc(%ebp)
4d9595:	33 c0                	xor    %eax,%eax
4d9597:	89 45 d8             	mov    %eax,-0x28(%ebp)
4d959a:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d959d:	50                   	push   %eax
4d959e:	8b 45 0c             	mov    0xc(%ebp),%eax
4d95a1:	50                   	push   %eax
4d95a2:	8b ce                	mov    %esi,%ecx
4d95a4:	8b 55 f8             	mov    -0x8(%ebp),%edx
4d95a7:	8b c7                	mov    %edi,%eax
4d95a9:	e8 ca f9 ff ff       	call   0x4d8f78
4d95ae:	8b d8                	mov    %eax,%ebx
4d95b0:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
4d95b3:	8b 55 f4             	mov    -0xc(%ebp),%edx
4d95b6:	c1 e2 06             	shl    $0x6,%edx
4d95b9:	8d 14 52             	lea    (%edx,%edx,2),%edx
4d95bc:	8d 14 d5 68 bd 68 00 	lea    0x68bd68(,%edx,8),%edx
4d95c3:	03 34 82             	add    (%edx,%eax,4),%esi
4d95c6:	8b 55 f4             	mov    -0xc(%ebp),%edx
4d95c9:	c1 e2 06             	shl    $0x6,%edx
4d95cc:	8d 14 52             	lea    (%edx,%edx,2),%edx
4d95cf:	8d 14 d5 68 bd 68 00 	lea    0x68bd68(,%edx,8),%edx
4d95d6:	8b 44 82 08          	mov    0x8(%edx,%eax,4),%eax
4d95da:	01 45 d8             	add    %eax,-0x28(%ebp)
4d95dd:	83 fb 40             	cmp    $0x40,%ebx
4d95e0:	7d b8                	jge    0x4d959a
4d95e2:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4d95e6:	0f 8c 67 01 00 00    	jl     0x4d9753
4d95ec:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4d95f0:	0f 8c 5d 01 00 00    	jl     0x4d9753
4d95f6:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4d95fa:	7d 05                	jge    0x4d9601
4d95fc:	33 c0                	xor    %eax,%eax
4d95fe:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d9601:	8b 45 e8             	mov    -0x18(%ebp),%eax
4d9604:	03 45 dc             	add    -0x24(%ebp),%eax
4d9607:	3b 45 18             	cmp    0x18(%ebp),%eax
4d960a:	7e 09                	jle    0x4d9615
4d960c:	8b 45 18             	mov    0x18(%ebp),%eax
4d960f:	2b 45 e8             	sub    -0x18(%ebp),%eax
4d9612:	89 45 dc             	mov    %eax,-0x24(%ebp)
4d9615:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4d9619:	75 12                	jne    0x4d962d
4d961b:	8b 45 18             	mov    0x18(%ebp),%eax
4d961e:	50                   	push   %eax
4d961f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4d9622:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d9625:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9628:	e8 77 fa ff ff       	call   0x4d90a4
4d962d:	8b 45 dc             	mov    -0x24(%ebp),%eax
4d9630:	01 45 e8             	add    %eax,-0x18(%ebp)
4d9633:	8b 45 e8             	mov    -0x18(%ebp),%eax
4d9636:	03 45 d8             	add    -0x28(%ebp),%eax
4d9639:	3b 45 18             	cmp    0x18(%ebp),%eax
4d963c:	7e 09                	jle    0x4d9647
4d963e:	8b 45 18             	mov    0x18(%ebp),%eax
4d9641:	2b 45 e8             	sub    -0x18(%ebp),%eax
4d9644:	89 45 d8             	mov    %eax,-0x28(%ebp)
4d9647:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4d964b:	74 12                	je     0x4d965f
4d964d:	8b 45 18             	mov    0x18(%ebp),%eax
4d9650:	50                   	push   %eax
4d9651:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4d9654:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d9657:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d965a:	e8 45 fa ff ff       	call   0x4d90a4
4d965f:	8b 45 d8             	mov    -0x28(%ebp),%eax
4d9662:	01 45 e8             	add    %eax,-0x18(%ebp)
4d9665:	e9 e9 00 00 00       	jmp    0x4d9753
4d966a:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d966d:	50                   	push   %eax
4d966e:	8b 4d 18             	mov    0x18(%ebp),%ecx
4d9671:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d9674:	8b 45 14             	mov    0x14(%ebp),%eax
4d9677:	e8 14 fc ff ff       	call   0x4d9290
4d967c:	89 45 e0             	mov    %eax,-0x20(%ebp)
4d967f:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d9682:	f7 d0                	not    %eax
4d9684:	83 e0 01             	and    $0x1,%eax
4d9687:	50                   	push   %eax
4d9688:	8b 4d 18             	mov    0x18(%ebp),%ecx
4d968b:	8b 55 e0             	mov    -0x20(%ebp),%edx
4d968e:	8b 45 14             	mov    0x14(%ebp),%eax
4d9691:	e8 fa fb ff ff       	call   0x4d9290
4d9696:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4d9699:	83 eb 06             	sub    $0x6,%ebx
4d969c:	01 5d e4             	add    %ebx,-0x1c(%ebp)
4d969f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4d96a3:	7d 05                	jge    0x4d96aa
4d96a5:	33 c0                	xor    %eax,%eax
4d96a7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d96aa:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4d96ae:	75 1e                	jne    0x4d96ce
4d96b0:	8b 45 18             	mov    0x18(%ebp),%eax
4d96b3:	50                   	push   %eax
4d96b4:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4d96b7:	2b 4d e8             	sub    -0x18(%ebp),%ecx
4d96ba:	8b 55 e8             	mov    -0x18(%ebp),%edx
4d96bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d96c0:	e8 df f9 ff ff       	call   0x4d90a4
4d96c5:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4d96cc:	eb 05                	jmp    0x4d96d3
4d96ce:	33 c0                	xor    %eax,%eax
4d96d0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4d96d3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4d96d6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d96d9:	eb 78                	jmp    0x4d9753
4d96db:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4d96df:	7d 05                	jge    0x4d96e6
4d96e1:	33 c0                	xor    %eax,%eax
4d96e3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d96e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4d96e9:	8b d6                	mov    %esi,%edx
4d96eb:	8b c7                	mov    %edi,%eax
4d96ed:	e8 6e f9 ff ff       	call   0x4d9060
4d96f2:	8b d8                	mov    %eax,%ebx
4d96f4:	85 db                	test   %ebx,%ebx
4d96f6:	74 5b                	je     0x4d9753
4d96f8:	03 f3                	add    %ebx,%esi
4d96fa:	8b c3                	mov    %ebx,%eax
4d96fc:	48                   	dec    %eax
4d96fd:	83 e8 05             	sub    $0x5,%eax
4d9700:	72 0a                	jb     0x4d970c
4d9702:	74 13                	je     0x4d9717
4d9704:	48                   	dec    %eax
4d9705:	83 e8 05             	sub    $0x5,%eax
4d9708:	72 13                	jb     0x4d971d
4d970a:	eb 35                	jmp    0x4d9741
4d970c:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4d970f:	8b 45 dc             	mov    -0x24(%ebp),%eax
4d9712:	01 45 e8             	add    %eax,-0x18(%ebp)
4d9715:	eb 2a                	jmp    0x4d9741
4d9717:	83 45 e8 05          	addl   $0x5,-0x18(%ebp)
4d971b:	eb 24                	jmp    0x4d9741
4d971d:	8b c3                	mov    %ebx,%eax
4d971f:	83 e8 07             	sub    $0x7,%eax
4d9722:	89 45 dc             	mov    %eax,-0x24(%ebp)
4d9725:	8b 45 dc             	mov    -0x24(%ebp),%eax
4d9728:	01 45 e8             	add    %eax,-0x18(%ebp)
4d972b:	8b 45 0c             	mov    0xc(%ebp),%eax
4d972e:	50                   	push   %eax
4d972f:	b9 01 00 00 00       	mov    $0x1,%ecx
4d9734:	8b d6                	mov    %esi,%edx
4d9736:	8b c7                	mov    %edi,%eax
4d9738:	e8 fb f8 ff ff       	call   0x4d9038
4d973d:	89 45 f0             	mov    %eax,-0x10(%ebp)
4d9740:	46                   	inc    %esi
4d9741:	83 fb 06             	cmp    $0x6,%ebx
4d9744:	7f 0d                	jg     0x4d9753
4d9746:	3b 75 d4             	cmp    -0x2c(%ebp),%esi
4d9749:	7d 08                	jge    0x4d9753
4d974b:	8b 45 e8             	mov    -0x18(%ebp),%eax
4d974e:	3b 45 18             	cmp    0x18(%ebp),%eax
4d9751:	7c 93                	jl     0x4d96e6
4d9753:	8b 45 e8             	mov    -0x18(%ebp),%eax
4d9756:	3b 45 18             	cmp    0x18(%ebp),%eax
4d9759:	7d 09                	jge    0x4d9764
4d975b:	3b 75 d4             	cmp    -0x2c(%ebp),%esi
4d975e:	0f 8c 5e fc ff ff    	jl     0x4d93c2
4d9764:	8b de                	mov    %esi,%ebx
4d9766:	8b 45 18             	mov    0x18(%ebp),%eax
4d9769:	c1 e8 03             	shr    $0x3,%eax
4d976c:	f7 45 18 07 00 00 00 	testl  $0x7,0x18(%ebp)
4d9773:	7e 01                	jle    0x4d9776
4d9775:	40                   	inc    %eax
4d9776:	8b c8                	mov    %eax,%ecx
4d9778:	8b 55 fc             	mov    -0x4(%ebp),%edx
4d977b:	8b 45 14             	mov    0x14(%ebp),%eax
4d977e:	e8 3d e7 f2 ff       	call   0x407ec0
4d9783:	8b c3                	mov    %ebx,%eax
4d9785:	5f                   	pop    %edi
4d9786:	5e                   	pop    %esi
4d9787:	5b                   	pop    %ebx
4d9788:	8b e5                	mov    %ebp,%esp
4d978a:	5d                   	pop    %ebp
4d978b:	c2 14 00             	ret    $0x14
4d978e:	8b c0                	mov    %eax,%eax
4d9790:	8b ca                	mov    %edx,%ecx
4d9792:	c1 e9 03             	shr    $0x3,%ecx
4d9795:	03 c1                	add    %ecx,%eax
4d9797:	83 e2 07             	and    $0x7,%edx
4d979a:	8a 92 c4 bc 68 00    	mov    0x68bcc4(%edx),%dl
4d97a0:	22 10                	and    (%eax),%dl
4d97a2:	0f 94 c0             	sete   %al
4d97a5:	c3                   	ret
4d97a6:	8b c0                	mov    %eax,%eax
4d97a8:	55                   	push   %ebp
4d97a9:	8b ec                	mov    %esp,%ebp
4d97ab:	83 c4 f4             	add    $0xfffffff4,%esp
4d97ae:	53                   	push   %ebx
4d97af:	56                   	push   %esi
4d97b0:	57                   	push   %edi
4d97b1:	8b f1                	mov    %ecx,%esi
4d97b3:	8b da                	mov    %edx,%ebx
4d97b5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4d97b8:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
4d97bc:	75 63                	jne    0x4d9821
4d97be:	33 c0                	xor    %eax,%eax
4d97c0:	8d 55 0c             	lea    0xc(%ebp),%edx
4d97c3:	89 55 f4             	mov    %edx,-0xc(%ebp)
4d97c6:	3b f0                	cmp    %eax,%esi
4d97c8:	0f 8e a9 00 00 00    	jle    0x4d9877
4d97ce:	8b d6                	mov    %esi,%edx
4d97d0:	2b d0                	sub    %eax,%edx
4d97d2:	4a                   	dec    %edx
4d97d3:	89 55 f8             	mov    %edx,-0x8(%ebp)
4d97d6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4d97d9:	83 e1 07             	and    $0x7,%ecx
4d97dc:	ba 01 00 00 00       	mov    $0x1,%edx
4d97e1:	d3 e2                	shl    %cl,%edx
4d97e3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4d97e6:	c1 e9 03             	shr    $0x3,%ecx
4d97e9:	8b 7d f4             	mov    -0xc(%ebp),%edi
4d97ec:	0f b6 0c 0f          	movzbl (%edi,%ecx,1),%ecx
4d97f0:	23 d1                	and    %ecx,%edx
4d97f2:	8b 3b                	mov    (%ebx),%edi
4d97f4:	c1 ef 03             	shr    $0x3,%edi
4d97f7:	03 7d fc             	add    -0x4(%ebp),%edi
4d97fa:	85 d2                	test   %edx,%edx
4d97fc:	74 0d                	je     0x4d980b
4d97fe:	8b 0b                	mov    (%ebx),%ecx
4d9800:	83 e1 07             	and    $0x7,%ecx
4d9803:	b2 01                	mov    $0x1,%dl
4d9805:	d2 e2                	shl    %cl,%dl
4d9807:	08 17                	or     %dl,(%edi)
4d9809:	eb 0d                	jmp    0x4d9818
4d980b:	8b 0b                	mov    (%ebx),%ecx
4d980d:	83 e1 07             	and    $0x7,%ecx
4d9810:	b2 01                	mov    $0x1,%dl
4d9812:	d2 e2                	shl    %cl,%dl
4d9814:	f6 d2                	not    %dl
4d9816:	20 17                	and    %dl,(%edi)
4d9818:	ff 03                	incl   (%ebx)
4d981a:	40                   	inc    %eax
4d981b:	3b f0                	cmp    %eax,%esi
4d981d:	7f af                	jg     0x4d97ce
4d981f:	eb 56                	jmp    0x4d9877
4d9821:	83 fe 08             	cmp    $0x8,%esi
4d9824:	7e 34                	jle    0x4d985a
4d9826:	8d 45 0c             	lea    0xc(%ebp),%eax
4d9829:	8d 50 01             	lea    0x1(%eax),%edx
4d982c:	e8 4b fc 0c 00       	call   0x5a947c
4d9831:	b8 10 00 00 00       	mov    $0x10,%eax
4d9836:	2b c6                	sub    %esi,%eax
4d9838:	25 07 00 00 80       	and    $0x80000007,%eax
4d983d:	79 05                	jns    0x4d9844
4d983f:	48                   	dec    %eax
4d9840:	83 c8 f8             	or     $0xfffffff8,%eax
4d9843:	40                   	inc    %eax
4d9844:	50                   	push   %eax
4d9845:	56                   	push   %esi
4d9846:	68 ff ff ff 7f       	push   $0x7fffffff
4d984b:	8b 0b                	mov    (%ebx),%ecx
4d984d:	8d 55 0c             	lea    0xc(%ebp),%edx
4d9850:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9853:	e8 8c 2a 0d 00       	call   0x5ac2e4
4d9858:	eb 1b                	jmp    0x4d9875
4d985a:	b8 08 00 00 00       	mov    $0x8,%eax
4d985f:	2b c6                	sub    %esi,%eax
4d9861:	50                   	push   %eax
4d9862:	56                   	push   %esi
4d9863:	68 ff ff ff 7f       	push   $0x7fffffff
4d9868:	8b 0b                	mov    (%ebx),%ecx
4d986a:	8d 55 0c             	lea    0xc(%ebp),%edx
4d986d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9870:	e8 6f 2a 0d 00       	call   0x5ac2e4
4d9875:	01 33                	add    %esi,(%ebx)
4d9877:	5f                   	pop    %edi
4d9878:	5e                   	pop    %esi
4d9879:	5b                   	pop    %ebx
4d987a:	8b e5                	mov    %ebp,%esp
4d987c:	5d                   	pop    %ebp
4d987d:	c2 08 00             	ret    $0x8
4d9880:	55                   	push   %ebp
4d9881:	8b ec                	mov    %esp,%ebp
4d9883:	83 c4 f8             	add    $0xfffffff8,%esp
4d9886:	53                   	push   %ebx
4d9887:	56                   	push   %esi
4d9888:	57                   	push   %edi
4d9889:	8b d9                	mov    %ecx,%ebx
4d988b:	89 55 f8             	mov    %edx,-0x8(%ebp)
4d988e:	89 45 fc             	mov    %eax,-0x4(%ebp)
4d9891:	8a 45 0c             	mov    0xc(%ebp),%al
4d9894:	34 01                	xor    $0x1,%al
4d9896:	8b f0                	mov    %eax,%esi
4d9898:	83 e6 7f             	and    $0x7f,%esi
4d989b:	83 fb 3f             	cmp    $0x3f,%ebx
4d989e:	0f 8e 9a 00 00 00    	jle    0x4d993e
4d98a4:	81 fb 00 0a 00 00    	cmp    $0xa00,%ebx
4d98aa:	7e 2f                	jle    0x4d98db
4d98ac:	8b c6                	mov    %esi,%eax
4d98ae:	c1 e0 06             	shl    $0x6,%eax
4d98b1:	8d 04 40             	lea    (%eax,%eax,2),%eax
4d98b4:	0f b7 14 c5 40 c2 68 	movzwl 0x68c240(,%eax,8),%edx
4d98bb:	00
4d98bc:	52                   	push   %edx
4d98bd:	8b 55 08             	mov    0x8(%ebp),%edx
4d98c0:	52                   	push   %edx
4d98c1:	8b 0c c5 3c c2 68 00 	mov    0x68c23c(,%eax,8),%ecx
4d98c8:	8b 55 f8             	mov    -0x8(%ebp),%edx
4d98cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d98ce:	e8 d5 fe ff ff       	call   0x4d97a8
4d98d3:	81 eb 00 0a 00 00    	sub    $0xa00,%ebx
4d98d9:	eb 5a                	jmp    0x4d9935
4d98db:	8b fb                	mov    %ebx,%edi
4d98dd:	c1 ef 06             	shr    $0x6,%edi
4d98e0:	83 c7 3f             	add    $0x3f,%edi
4d98e3:	8d 04 7f             	lea    (%edi,%edi,2),%eax
4d98e6:	8b d6                	mov    %esi,%edx
4d98e8:	c1 e2 06             	shl    $0x6,%edx
4d98eb:	8d 14 52             	lea    (%edx,%edx,2),%edx