54851c:	8a 13                	mov    (%ebx),%dl
54851e:	d3 fa                	sar    %cl,%edx
548520:	66 83 e2 03          	and    $0x3,%dx
548524:	66 3b 56 08          	cmp    0x8(%esi),%dx
548528:	75 1e                	jne    0x548548
54852a:	b9 06 00 00 00       	mov    $0x6,%ecx
54852f:	2b c8                	sub    %eax,%ecx
548531:	ba 3f 3f 00 00       	mov    $0x3f3f,%edx
548536:	d3 fa                	sar    %cl,%edx
548538:	80 e2 ff             	and    $0xff,%dl
54853b:	20 13                	and    %dl,(%ebx)
54853d:	8b c8                	mov    %eax,%ecx
54853f:	8a 57 08             	mov    0x8(%edi),%dl
548542:	d2 e2                	shl    %cl,%dl
548544:	08 13                	or     %dl,(%ebx)
548546:	eb 5d                	jmp    0x5485a5
548548:	33 d2                	xor    %edx,%edx
54854a:	8b c8                	mov    %eax,%ecx
54854c:	8a 13                	mov    (%ebx),%dl
54854e:	d3 fa                	sar    %cl,%edx
548550:	80 e2 03             	and    $0x3,%dl
548553:	33 c9                	xor    %ecx,%ecx
548555:	88 55 ef             	mov    %dl,-0x11(%ebp)
548558:	33 d2                	xor    %edx,%edx
54855a:	8a 55 ef             	mov    -0x11(%ebp),%dl
54855d:	8a 4d ef             	mov    -0x11(%ebp),%cl
548560:	c1 e2 02             	shl    $0x2,%edx
548563:	0b ca                	or     %edx,%ecx
548565:	33 d2                	xor    %edx,%edx
548567:	8a 55 ef             	mov    -0x11(%ebp),%dl
54856a:	c1 e2 04             	shl    $0x4,%edx
54856d:	0b ca                	or     %edx,%ecx
54856f:	33 d2                	xor    %edx,%edx
548571:	8a 55 ef             	mov    -0x11(%ebp),%dl
548574:	c1 e2 06             	shl    $0x6,%edx
548577:	0b ca                	or     %edx,%ecx
548579:	8b 55 20             	mov    0x20(%ebp),%edx
54857c:	0f b6 0c 0a          	movzbl (%edx,%ecx,1),%ecx
548580:	c1 f9 06             	sar    $0x6,%ecx
548583:	ba 3f 3f 00 00       	mov    $0x3f3f,%edx
548588:	80 e1 03             	and    $0x3,%cl
54858b:	88 4d ee             	mov    %cl,-0x12(%ebp)
54858e:	b9 06 00 00 00       	mov    $0x6,%ecx
548593:	2b c8                	sub    %eax,%ecx
548595:	d3 fa                	sar    %cl,%edx
548597:	80 e2 ff             	and    $0xff,%dl
54859a:	8b c8                	mov    %eax,%ecx
54859c:	20 13                	and    %dl,(%ebx)
54859e:	8a 55 ee             	mov    -0x12(%ebp),%dl
5485a1:	d2 e2                	shl    %cl,%dl
5485a3:	08 13                	or     %dl,(%ebx)
5485a5:	85 c0                	test   %eax,%eax
5485a7:	75 08                	jne    0x5485b1
5485a9:	b8 06 00 00 00       	mov    $0x6,%eax
5485ae:	43                   	inc    %ebx
5485af:	eb 03                	jmp    0x5485b4
5485b1:	83 e8 02             	sub    $0x2,%eax
5485b4:	ff 45 f4             	incl   -0xc(%ebp)
5485b7:	8b 55 f4             	mov    -0xc(%ebp),%edx
5485ba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5485bd:	3b d1                	cmp    %ecx,%edx
5485bf:	0f 82 53 ff ff ff    	jb     0x548518
5485c5:	e9 98 11 00 00       	jmp    0x549762
5485ca:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5485cd:	33 d2                	xor    %edx,%edx
5485cf:	89 55 f4             	mov    %edx,-0xc(%ebp)
5485d2:	b8 06 00 00 00       	mov    $0x6,%eax
5485d7:	8b 55 f0             	mov    -0x10(%ebp),%edx
5485da:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5485dd:	3b ca                	cmp    %edx,%ecx
5485df:	0f 83 7d 11 00 00    	jae    0x549762
5485e5:	8b c8                	mov    %eax,%ecx
5485e7:	33 d2                	xor    %edx,%edx
5485e9:	8a 13                	mov    (%ebx),%dl
5485eb:	d3 fa                	sar    %cl,%edx
5485ed:	66 83 e2 03          	and    $0x3,%dx
5485f1:	66 3b 56 08          	cmp    0x8(%esi),%dx
5485f5:	75 1c                	jne    0x548613
5485f7:	b9 06 00 00 00       	mov    $0x6,%ecx
5485fc:	2b c8                	sub    %eax,%ecx
5485fe:	ba 3f 3f 00 00       	mov    $0x3f3f,%edx
548603:	d3 fa                	sar    %cl,%edx
548605:	80 e2 ff             	and    $0xff,%dl
548608:	20 13                	and    %dl,(%ebx)
54860a:	8b c8                	mov    %eax,%ecx
54860c:	8a 57 08             	mov    0x8(%edi),%dl
54860f:	d2 e2                	shl    %cl,%dl
548611:	08 13                	or     %dl,(%ebx)
548613:	85 c0                	test   %eax,%eax
548615:	75 08                	jne    0x54861f
548617:	b8 06 00 00 00       	mov    $0x6,%eax
54861c:	43                   	inc    %ebx
54861d:	eb 03                	jmp    0x548622
54861f:	83 e8 02             	sub    $0x2,%eax
548622:	ff 45 f4             	incl   -0xc(%ebp)
548625:	8b 4d f4             	mov    -0xc(%ebp),%ecx
548628:	8b 55 f0             	mov    -0x10(%ebp),%edx
54862b:	3b ca                	cmp    %edx,%ecx
54862d:	72 b6                	jb     0x5485e5
54862f:	e9 2e 11 00 00       	jmp    0x549762
548634:	8b 45 20             	mov    0x20(%ebp),%eax
548637:	85 c0                	test   %eax,%eax
548639:	0f 84 b9 00 00 00    	je     0x5486f8
54863f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548642:	33 d2                	xor    %edx,%edx
548644:	89 55 f4             	mov    %edx,-0xc(%ebp)
548647:	b8 04 00 00 00       	mov    $0x4,%eax
54864c:	8b 55 f0             	mov    -0x10(%ebp),%edx
54864f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
548652:	3b ca                	cmp    %edx,%ecx
548654:	0f 83 08 11 00 00    	jae    0x549762
54865a:	8b c8                	mov    %eax,%ecx
54865c:	33 d2                	xor    %edx,%edx
54865e:	8a 13                	mov    (%ebx),%dl
548660:	d3 fa                	sar    %cl,%edx
548662:	66 83 e2 0f          	and    $0xf,%dx
548666:	66 3b 56 08          	cmp    0x8(%esi),%dx
54866a:	75 1e                	jne    0x54868a
54866c:	b9 04 00 00 00       	mov    $0x4,%ecx
548671:	2b c8                	sub    %eax,%ecx
548673:	ba 0f 0f 00 00       	mov    $0xf0f,%edx
548678:	d3 fa                	sar    %cl,%edx
54867a:	80 e2 ff             	and    $0xff,%dl
54867d:	20 13                	and    %dl,(%ebx)
54867f:	8b c8                	mov    %eax,%ecx
548681:	8a 57 08             	mov    0x8(%edi),%dl
548684:	d2 e2                	shl    %cl,%dl
548686:	08 13                	or     %dl,(%ebx)
548688:	eb 49                	jmp    0x5486d3
54868a:	33 d2                	xor    %edx,%edx
54868c:	8b c8                	mov    %eax,%ecx
54868e:	8a 13                	mov    (%ebx),%dl
548690:	d3 fa                	sar    %cl,%edx
548692:	80 e2 0f             	and    $0xf,%dl
548695:	33 c9                	xor    %ecx,%ecx
548697:	88 55 ed             	mov    %dl,-0x13(%ebp)
54869a:	33 d2                	xor    %edx,%edx
54869c:	8a 55 ed             	mov    -0x13(%ebp),%dl
54869f:	8a 4d ed             	mov    -0x13(%ebp),%cl
5486a2:	c1 e2 04             	shl    $0x4,%edx
5486a5:	0b ca                	or     %edx,%ecx
5486a7:	8b 55 20             	mov    0x20(%ebp),%edx
5486aa:	0f b6 0c 0a          	movzbl (%edx,%ecx,1),%ecx
5486ae:	c1 f9 04             	sar    $0x4,%ecx
5486b1:	ba 0f 0f 00 00       	mov    $0xf0f,%edx
5486b6:	80 e1 0f             	and    $0xf,%cl
5486b9:	88 4d ec             	mov    %cl,-0x14(%ebp)
5486bc:	b9 04 00 00 00       	mov    $0x4,%ecx
5486c1:	2b c8                	sub    %eax,%ecx
5486c3:	d3 fa                	sar    %cl,%edx
5486c5:	80 e2 ff             	and    $0xff,%dl
5486c8:	8b c8                	mov    %eax,%ecx
5486ca:	20 13                	and    %dl,(%ebx)
5486cc:	8a 55 ec             	mov    -0x14(%ebp),%dl
5486cf:	d2 e2                	shl    %cl,%dl
5486d1:	08 13                	or     %dl,(%ebx)
5486d3:	85 c0                	test   %eax,%eax
5486d5:	75 08                	jne    0x5486df
5486d7:	b8 04 00 00 00       	mov    $0x4,%eax
5486dc:	43                   	inc    %ebx
5486dd:	eb 03                	jmp    0x5486e2
5486df:	83 e8 04             	sub    $0x4,%eax
5486e2:	ff 45 f4             	incl   -0xc(%ebp)
5486e5:	8b 55 f4             	mov    -0xc(%ebp),%edx
5486e8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5486eb:	3b d1                	cmp    %ecx,%edx
5486ed:	0f 82 67 ff ff ff    	jb     0x54865a
5486f3:	e9 6a 10 00 00       	jmp    0x549762
5486f8:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5486fb:	33 d2                	xor    %edx,%edx
5486fd:	89 55 f4             	mov    %edx,-0xc(%ebp)
548700:	b8 04 00 00 00       	mov    $0x4,%eax
548705:	8b 55 f0             	mov    -0x10(%ebp),%edx
548708:	8b 4d f4             	mov    -0xc(%ebp),%ecx
54870b:	3b ca                	cmp    %edx,%ecx
54870d:	0f 83 4f 10 00 00    	jae    0x549762
548713:	8b c8                	mov    %eax,%ecx
548715:	33 d2                	xor    %edx,%edx
548717:	8a 13                	mov    (%ebx),%dl
548719:	d3 fa                	sar    %cl,%edx
54871b:	66 83 e2 0f          	and    $0xf,%dx
54871f:	66 3b 56 08          	cmp    0x8(%esi),%dx
548723:	75 1c                	jne    0x548741
548725:	b9 04 00 00 00       	mov    $0x4,%ecx
54872a:	2b c8                	sub    %eax,%ecx
54872c:	ba 0f 0f 00 00       	mov    $0xf0f,%edx
548731:	d3 fa                	sar    %cl,%edx
548733:	80 e2 ff             	and    $0xff,%dl
548736:	20 13                	and    %dl,(%ebx)
548738:	8b c8                	mov    %eax,%ecx
54873a:	8a 57 08             	mov    0x8(%edi),%dl
54873d:	d2 e2                	shl    %cl,%dl
54873f:	08 13                	or     %dl,(%ebx)
548741:	85 c0                	test   %eax,%eax
548743:	75 08                	jne    0x54874d
548745:	b8 04 00 00 00       	mov    $0x4,%eax
54874a:	43                   	inc    %ebx
54874b:	eb 03                	jmp    0x548750
54874d:	83 e8 04             	sub    $0x4,%eax
548750:	ff 45 f4             	incl   -0xc(%ebp)
548753:	8b 4d f4             	mov    -0xc(%ebp),%ecx
548756:	8b 55 f0             	mov    -0x10(%ebp),%edx
548759:	3b ca                	cmp    %edx,%ecx
54875b:	72 b6                	jb     0x548713
54875d:	e9 00 10 00 00       	jmp    0x549762
548762:	8b 45 20             	mov    0x20(%ebp),%eax
548765:	85 c0                	test   %eax,%eax
548767:	74 48                	je     0x5487b1
548769:	8b 5d f8             	mov    -0x8(%ebp),%ebx
54876c:	33 c0                	xor    %eax,%eax
54876e:	89 45 f4             	mov    %eax,-0xc(%ebp)
548771:	8b 55 f4             	mov    -0xc(%ebp),%edx
548774:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548777:	3b d1                	cmp    %ecx,%edx
548779:	0f 83 e3 0f 00 00    	jae    0x549762
54877f:	33 c0                	xor    %eax,%eax
548781:	8a 03                	mov    (%ebx),%al
548783:	0f b7 56 08          	movzwl 0x8(%esi),%edx
548787:	3b c2                	cmp    %edx,%eax
548789:	75 07                	jne    0x548792
54878b:	8a 4f 08             	mov    0x8(%edi),%cl
54878e:	88 0b                	mov    %cl,(%ebx)
548790:	eb 0c                	jmp    0x54879e
548792:	33 c0                	xor    %eax,%eax
548794:	8a 03                	mov    (%ebx),%al
548796:	8b 55 20             	mov    0x20(%ebp),%edx
548799:	8a 0c 02             	mov    (%edx,%eax,1),%cl
54879c:	88 0b                	mov    %cl,(%ebx)
54879e:	ff 45 f4             	incl   -0xc(%ebp)
5487a1:	43                   	inc    %ebx
5487a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5487a5:	8b 55 f0             	mov    -0x10(%ebp),%edx
5487a8:	3b c2                	cmp    %edx,%eax
5487aa:	72 d3                	jb     0x54877f
5487ac:	e9 b1 0f 00 00       	jmp    0x549762
5487b1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5487b4:	33 c0                	xor    %eax,%eax
5487b6:	89 45 f4             	mov    %eax,-0xc(%ebp)
5487b9:	8b 55 f4             	mov    -0xc(%ebp),%edx
5487bc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5487bf:	3b d1                	cmp    %ecx,%edx
5487c1:	0f 83 9b 0f 00 00    	jae    0x549762
5487c7:	33 c0                	xor    %eax,%eax
5487c9:	8a 03                	mov    (%ebx),%al
5487cb:	0f b7 56 08          	movzwl 0x8(%esi),%edx
5487cf:	3b c2                	cmp    %edx,%eax
5487d1:	75 05                	jne    0x5487d8
5487d3:	8a 4f 08             	mov    0x8(%edi),%cl
5487d6:	88 0b                	mov    %cl,(%ebx)
5487d8:	ff 45 f4             	incl   -0xc(%ebp)
5487db:	43                   	inc    %ebx
5487dc:	8b 45 f4             	mov    -0xc(%ebp),%eax
5487df:	8b 55 f0             	mov    -0x10(%ebp),%edx
5487e2:	3b c2                	cmp    %edx,%eax
5487e4:	72 e1                	jb     0x5487c7
5487e6:	e9 77 0f 00 00       	jmp    0x549762
5487eb:	8b 4d 14             	mov    0x14(%ebp),%ecx
5487ee:	85 c9                	test   %ecx,%ecx
5487f0:	0f 84 8e 00 00 00    	je     0x548884
5487f6:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5487f9:	33 c0                	xor    %eax,%eax
5487fb:	89 45 f4             	mov    %eax,-0xc(%ebp)
5487fe:	8b 55 f4             	mov    -0xc(%ebp),%edx
548801:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548804:	3b d1                	cmp    %ecx,%edx
548806:	0f 83 56 0f 00 00    	jae    0x549762
54880c:	33 c0                	xor    %eax,%eax
54880e:	33 d2                	xor    %edx,%edx
548810:	8a 03                	mov    (%ebx),%al
548812:	8a 53 01             	mov    0x1(%ebx),%dl
548815:	c1 e0 08             	shl    $0x8,%eax
548818:	66 03 c2             	add    %dx,%ax
54881b:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
54881f:	66 8b 4e 08          	mov    0x8(%esi),%cx
548823:	66 3b 4d ea          	cmp    -0x16(%ebp),%cx
548827:	75 16                	jne    0x54883f
548829:	0f b7 47 08          	movzwl 0x8(%edi),%eax
54882d:	c1 f8 08             	sar    $0x8,%eax
548830:	24 ff                	and    $0xff,%al
548832:	88 03                	mov    %al,(%ebx)
548834:	8a 57 08             	mov    0x8(%edi),%dl
548837:	80 e2 ff             	and    $0xff,%dl
54883a:	88 53 01             	mov    %dl,0x1(%ebx)
54883d:	eb 30                	jmp    0x54886f
54883f:	33 c0                	xor    %eax,%eax
548841:	8b 4d 08             	mov    0x8(%ebp),%ecx
548844:	8a 43 01             	mov    0x1(%ebx),%al
548847:	8b 55 14             	mov    0x14(%ebp),%edx
54884a:	d3 f8                	sar    %cl,%eax
54884c:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
54884f:	33 c0                	xor    %eax,%eax
548851:	8a 03                	mov    (%ebx),%al
548853:	66 8b 14 41          	mov    (%ecx,%eax,2),%dx
548857:	66 89 55 ea          	mov    %dx,-0x16(%ebp)
54885b:	0f b7 4d ea          	movzwl -0x16(%ebp),%ecx
54885f:	c1 f9 08             	sar    $0x8,%ecx
548862:	80 e1 ff             	and    $0xff,%cl
548865:	88 0b                	mov    %cl,(%ebx)
548867:	8a 45 ea             	mov    -0x16(%ebp),%al
54886a:	24 ff                	and    $0xff,%al
54886c:	88 43 01             	mov    %al,0x1(%ebx)
54886f:	ff 45 f4             	incl   -0xc(%ebp)
548872:	83 c3 02             	add    $0x2,%ebx
548875:	8b 55 f4             	mov    -0xc(%ebp),%edx
548878:	8b 4d f0             	mov    -0x10(%ebp),%ecx
54887b:	3b d1                	cmp    %ecx,%edx
54887d:	72 8d                	jb     0x54880c
54887f:	e9 de 0e 00 00       	jmp    0x549762
548884:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548887:	33 c0                	xor    %eax,%eax
548889:	89 45 f4             	mov    %eax,-0xc(%ebp)
54888c:	8b 55 f4             	mov    -0xc(%ebp),%edx
54888f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548892:	3b d1                	cmp    %ecx,%edx
548894:	0f 83 c8 0e 00 00    	jae    0x549762
54889a:	33 c0                	xor    %eax,%eax
54889c:	33 d2                	xor    %edx,%edx
54889e:	8a 03                	mov    (%ebx),%al
5488a0:	8a 53 01             	mov    0x1(%ebx),%dl
5488a3:	c1 e0 08             	shl    $0x8,%eax
5488a6:	66 03 c2             	add    %dx,%ax
5488a9:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
5488ad:	66 8b 4e 08          	mov    0x8(%esi),%cx
5488b1:	66 3b 4d e8          	cmp    -0x18(%ebp),%cx
5488b5:	75 14                	jne    0x5488cb
5488b7:	0f b7 47 08          	movzwl 0x8(%edi),%eax
5488bb:	c1 f8 08             	sar    $0x8,%eax
5488be:	24 ff                	and    $0xff,%al
5488c0:	88 03                	mov    %al,(%ebx)
5488c2:	8a 57 08             	mov    0x8(%edi),%dl
5488c5:	80 e2 ff             	and    $0xff,%dl
5488c8:	88 53 01             	mov    %dl,0x1(%ebx)
5488cb:	ff 45 f4             	incl   -0xc(%ebp)
5488ce:	83 c3 02             	add    $0x2,%ebx
5488d1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5488d4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5488d7:	3b c8                	cmp    %eax,%ecx
5488d9:	72 bf                	jb     0x54889a
5488db:	e9 82 0e 00 00       	jmp    0x549762
5488e0:	8b 55 fc             	mov    -0x4(%ebp),%edx
5488e3:	8a 4a 09             	mov    0x9(%edx),%cl
5488e6:	80 f9 08             	cmp    $0x8,%cl
5488e9:	0f 85 f9 00 00 00    	jne    0x5489e8
5488ef:	8b 45 20             	mov    0x20(%ebp),%eax
5488f2:	85 c0                	test   %eax,%eax
5488f4:	0f 84 8c 00 00 00    	je     0x548986
5488fa:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5488fd:	33 c0                	xor    %eax,%eax
5488ff:	89 45 f4             	mov    %eax,-0xc(%ebp)
548902:	8b 55 f4             	mov    -0xc(%ebp),%edx