547576:	5f                   	pop    %edi
547577:	5e                   	pop    %esi
547578:	5b                   	pop    %ebx
547579:	c3                   	ret
54757a:	90                   	nop
54757b:	90                   	nop
54757c:	53                   	push   %ebx
54757d:	56                   	push   %esi
54757e:	57                   	push   %edi
54757f:	8b 30                	mov    (%eax),%esi
547581:	8a 48 08             	mov    0x8(%eax),%cl
547584:	80 f9 06             	cmp    $0x6,%cl
547587:	75 5d                	jne    0x5475e6
547589:	8a 48 09             	mov    0x9(%eax),%cl
54758c:	80 f9 08             	cmp    $0x8,%cl
54758f:	75 2a                	jne    0x5475bb
547591:	8b 40 04             	mov    0x4(%eax),%eax
547594:	33 ff                	xor    %edi,%edi
547596:	03 d0                	add    %eax,%edx
547598:	3b f7                	cmp    %edi,%esi
54759a:	8b c2                	mov    %edx,%eax
54759c:	8b d0                	mov    %eax,%edx
54759e:	0f 86 9f 00 00 00    	jbe    0x547643
5475a4:	48                   	dec    %eax
5475a5:	4a                   	dec    %edx
5475a6:	b1 ff                	mov    $0xff,%cl
5475a8:	47                   	inc    %edi
5475a9:	2a 08                	sub    (%eax),%cl
5475ab:	83 e8 03             	sub    $0x3,%eax
5475ae:	88 0a                	mov    %cl,(%edx)
5475b0:	8b d0                	mov    %eax,%edx
5475b2:	3b f7                	cmp    %edi,%esi
5475b4:	77 ee                	ja     0x5475a4
5475b6:	e9 88 00 00 00       	jmp    0x547643
5475bb:	8b 40 04             	mov    0x4(%eax),%eax
5475be:	33 ff                	xor    %edi,%edi
5475c0:	03 d0                	add    %eax,%edx
5475c2:	3b f7                	cmp    %edi,%esi
5475c4:	8b c2                	mov    %edx,%eax
5475c6:	8b d0                	mov    %eax,%edx
5475c8:	76 79                	jbe    0x547643
5475ca:	48                   	dec    %eax
5475cb:	b1 ff                	mov    $0xff,%cl
5475cd:	4a                   	dec    %edx
5475ce:	47                   	inc    %edi
5475cf:	2a 08                	sub    (%eax),%cl
5475d1:	48                   	dec    %eax
5475d2:	88 0a                	mov    %cl,(%edx)
5475d4:	4a                   	dec    %edx
5475d5:	b1 ff                	mov    $0xff,%cl
5475d7:	2a 08                	sub    (%eax),%cl
5475d9:	83 e8 06             	sub    $0x6,%eax
5475dc:	88 0a                	mov    %cl,(%edx)
5475de:	8b d0                	mov    %eax,%edx
5475e0:	3b f7                	cmp    %edi,%esi
5475e2:	77 e6                	ja     0x5475ca
5475e4:	eb 5d                	jmp    0x547643
5475e6:	8a 48 08             	mov    0x8(%eax),%cl
5475e9:	80 f9 04             	cmp    $0x4,%cl
5475ec:	75 55                	jne    0x547643
5475ee:	8a 48 09             	mov    0x9(%eax),%cl
5475f1:	80 f9 08             	cmp    $0x8,%cl
5475f4:	75 24                	jne    0x54761a
5475f6:	8b 40 04             	mov    0x4(%eax),%eax
5475f9:	33 ff                	xor    %edi,%edi
5475fb:	03 d0                	add    %eax,%edx
5475fd:	3b f7                	cmp    %edi,%esi
5475ff:	8b c2                	mov    %edx,%eax
547601:	8b d0                	mov    %eax,%edx
547603:	76 3e                	jbe    0x547643
547605:	48                   	dec    %eax
547606:	4a                   	dec    %edx
547607:	b1 ff                	mov    $0xff,%cl
547609:	47                   	inc    %edi
54760a:	2a 08                	sub    (%eax),%cl
54760c:	48                   	dec    %eax
54760d:	88 0a                	mov    %cl,(%edx)
54760f:	4a                   	dec    %edx
547610:	8a 08                	mov    (%eax),%cl
547612:	3b f7                	cmp    %edi,%esi
547614:	88 0a                	mov    %cl,(%edx)
547616:	77 ed                	ja     0x547605
547618:	eb 29                	jmp    0x547643
54761a:	8b 40 04             	mov    0x4(%eax),%eax
54761d:	33 c9                	xor    %ecx,%ecx
54761f:	03 d0                	add    %eax,%edx
547621:	3b f1                	cmp    %ecx,%esi
547623:	8b c2                	mov    %edx,%eax
547625:	8b d0                	mov    %eax,%edx
547627:	76 1a                	jbe    0x547643
547629:	48                   	dec    %eax
54762a:	b3 ff                	mov    $0xff,%bl
54762c:	4a                   	dec    %edx
54762d:	41                   	inc    %ecx
54762e:	2a 18                	sub    (%eax),%bl
547630:	48                   	dec    %eax
547631:	88 1a                	mov    %bl,(%edx)
547633:	4a                   	dec    %edx
547634:	b3 ff                	mov    $0xff,%bl
547636:	2a 18                	sub    (%eax),%bl
547638:	83 e8 02             	sub    $0x2,%eax
54763b:	88 1a                	mov    %bl,(%edx)
54763d:	8b d0                	mov    %eax,%edx
54763f:	3b f1                	cmp    %ecx,%esi
547641:	77 e6                	ja     0x547629
547643:	5f                   	pop    %edi
547644:	5e                   	pop    %esi
547645:	5b                   	pop    %ebx
547646:	c3                   	ret
547647:	90                   	nop
547648:	55                   	push   %ebp
547649:	8b ec                	mov    %esp,%ebp
54764b:	83 c4 f8             	add    $0xfffffff8,%esp
54764e:	53                   	push   %ebx
54764f:	56                   	push   %esi
547650:	89 45 fc             	mov    %eax,-0x4(%ebp)
547653:	8b d9                	mov    %ecx,%ebx
547655:	8b 45 fc             	mov    -0x4(%ebp),%eax
547658:	8b 75 08             	mov    0x8(%ebp),%esi
54765b:	c1 eb 08             	shr    $0x8,%ebx
54765e:	80 e1 ff             	and    $0xff,%cl
547661:	80 e3 ff             	and    $0xff,%bl
547664:	8b 00                	mov    (%eax),%eax
547666:	88 5d fb             	mov    %bl,-0x5(%ebp)
547669:	88 4d fa             	mov    %cl,-0x6(%ebp)
54766c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54766f:	8a 49 08             	mov    0x8(%ecx),%cl
547672:	84 c9                	test   %cl,%cl
547674:	0f 85 50 01 00 00    	jne    0x5477ca
54767a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54767d:	8a 49 09             	mov    0x9(%ecx),%cl
547680:	80 f9 08             	cmp    $0x8,%cl
547683:	0f 85 89 00 00 00    	jne    0x547712
547689:	f7 c6 80 00 00 00    	test   $0x80,%esi
54768f:	74 45                	je     0x5476d6
547691:	8b d8                	mov    %eax,%ebx
547693:	8b cb                	mov    %ebx,%ecx
547695:	03 ca                	add    %edx,%ecx
547697:	8b d3                	mov    %ebx,%edx
547699:	03 d1                	add    %ecx,%edx
54769b:	be 01 00 00 00       	mov    $0x1,%esi
5476a0:	3b c6                	cmp    %esi,%eax
5476a2:	76 11                	jbe    0x5476b5
5476a4:	4a                   	dec    %edx
5476a5:	8a 5d fa             	mov    -0x6(%ebp),%bl
5476a8:	49                   	dec    %ecx
5476a9:	46                   	inc    %esi
5476aa:	88 1a                	mov    %bl,(%edx)
5476ac:	4a                   	dec    %edx
5476ad:	8a 19                	mov    (%ecx),%bl
5476af:	3b c6                	cmp    %esi,%eax
5476b1:	88 1a                	mov    %bl,(%edx)
5476b3:	77 ef                	ja     0x5476a4
5476b5:	4a                   	dec    %edx
5476b6:	8a 4d fa             	mov    -0x6(%ebp),%cl
5476b9:	88 0a                	mov    %cl,(%edx)
5476bb:	8b 55 fc             	mov    -0x4(%ebp),%edx
5476be:	c6 42 0a 02          	movb   $0x2,0xa(%edx)
5476c2:	8b 55 fc             	mov    -0x4(%ebp),%edx
5476c5:	c6 42 0b 10          	movb   $0x10,0xb(%edx)
5476c9:	03 c0                	add    %eax,%eax
5476cb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5476ce:	89 41 04             	mov    %eax,0x4(%ecx)
5476d1:	e9 91 02 00 00       	jmp    0x547967
5476d6:	8b d8                	mov    %eax,%ebx
5476d8:	8b cb                	mov    %ebx,%ecx
5476da:	03 ca                	add    %edx,%ecx
5476dc:	8b d3                	mov    %ebx,%edx
5476de:	03 d1                	add    %ecx,%edx
5476e0:	33 f6                	xor    %esi,%esi
5476e2:	3b c6                	cmp    %esi,%eax
5476e4:	76 11                	jbe    0x5476f7
5476e6:	49                   	dec    %ecx
5476e7:	4a                   	dec    %edx
5476e8:	46                   	inc    %esi
5476e9:	8a 19                	mov    (%ecx),%bl
5476eb:	88 1a                	mov    %bl,(%edx)
5476ed:	4a                   	dec    %edx
5476ee:	8a 5d fa             	mov    -0x6(%ebp),%bl
5476f1:	3b c6                	cmp    %esi,%eax
5476f3:	88 1a                	mov    %bl,(%edx)
5476f5:	77 ef                	ja     0x5476e6
5476f7:	8b 55 fc             	mov    -0x4(%ebp),%edx
5476fa:	c6 42 0a 02          	movb   $0x2,0xa(%edx)
5476fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
547701:	c6 41 0b 10          	movb   $0x10,0xb(%ecx)
547705:	03 c0                	add    %eax,%eax
547707:	8b 55 fc             	mov    -0x4(%ebp),%edx
54770a:	89 42 04             	mov    %eax,0x4(%edx)
54770d:	e9 55 02 00 00       	jmp    0x547967
547712:	8b 4d fc             	mov    -0x4(%ebp),%ecx
547715:	8a 49 09             	mov    0x9(%ecx),%cl
547718:	80 f9 10             	cmp    $0x10,%cl
54771b:	0f 85 46 02 00 00    	jne    0x547967
547721:	f7 c6 80 00 00 00    	test   $0x80,%esi
547727:	74 58                	je     0x547781
547729:	8b d8                	mov    %eax,%ebx
54772b:	8b cb                	mov    %ebx,%ecx
54772d:	03 ca                	add    %edx,%ecx
54772f:	8b d3                	mov    %ebx,%edx
547731:	03 d1                	add    %ecx,%edx
547733:	be 01 00 00 00       	mov    $0x1,%esi
547738:	3b c6                	cmp    %esi,%eax
54773a:	76 1d                	jbe    0x547759
54773c:	4a                   	dec    %edx
54773d:	8a 5d fb             	mov    -0x5(%ebp),%bl
547740:	49                   	dec    %ecx
547741:	46                   	inc    %esi
547742:	88 1a                	mov    %bl,(%edx)
547744:	4a                   	dec    %edx
547745:	8a 5d fa             	mov    -0x6(%ebp),%bl
547748:	88 1a                	mov    %bl,(%edx)
54774a:	4a                   	dec    %edx
54774b:	8a 19                	mov    (%ecx),%bl
54774d:	49                   	dec    %ecx
54774e:	88 1a                	mov    %bl,(%edx)
547750:	4a                   	dec    %edx
547751:	8a 19                	mov    (%ecx),%bl
547753:	3b c6                	cmp    %esi,%eax
547755:	88 1a                	mov    %bl,(%edx)
547757:	77 e3                	ja     0x54773c
547759:	4a                   	dec    %edx
54775a:	8a 4d fb             	mov    -0x5(%ebp),%cl
54775d:	88 0a                	mov    %cl,(%edx)
54775f:	4a                   	dec    %edx
547760:	8a 4d fa             	mov    -0x6(%ebp),%cl
547763:	88 0a                	mov    %cl,(%edx)
547765:	8b 55 fc             	mov    -0x4(%ebp),%edx
547768:	c6 42 0a 02          	movb   $0x2,0xa(%edx)
54776c:	8b 55 fc             	mov    -0x4(%ebp),%edx
54776f:	c6 42 0b 20          	movb   $0x20,0xb(%edx)
547773:	c1 e0 02             	shl    $0x2,%eax
547776:	8b 4d fc             	mov    -0x4(%ebp),%ecx
547779:	89 41 04             	mov    %eax,0x4(%ecx)
54777c:	e9 e6 01 00 00       	jmp    0x547967
547781:	8b d8                	mov    %eax,%ebx
547783:	8b cb                	mov    %ebx,%ecx
547785:	03 ca                	add    %edx,%ecx
547787:	8b d3                	mov    %ebx,%edx
547789:	03 d1                	add    %ecx,%edx
54778b:	33 f6                	xor    %esi,%esi
54778d:	3b c6                	cmp    %esi,%eax
54778f:	76 1d                	jbe    0x5477ae
547791:	49                   	dec    %ecx
547792:	4a                   	dec    %edx
547793:	46                   	inc    %esi
547794:	8a 19                	mov    (%ecx),%bl
547796:	49                   	dec    %ecx
547797:	88 1a                	mov    %bl,(%edx)
547799:	4a                   	dec    %edx
54779a:	8a 19                	mov    (%ecx),%bl
54779c:	88 1a                	mov    %bl,(%edx)
54779e:	4a                   	dec    %edx
54779f:	8a 5d fb             	mov    -0x5(%ebp),%bl
5477a2:	88 1a                	mov    %bl,(%edx)
5477a4:	4a                   	dec    %edx
5477a5:	8a 5d fa             	mov    -0x6(%ebp),%bl
5477a8:	3b c6                	cmp    %esi,%eax
5477aa:	88 1a                	mov    %bl,(%edx)
5477ac:	77 e3                	ja     0x547791
5477ae:	8b 55 fc             	mov    -0x4(%ebp),%edx
5477b1:	c6 42 0a 02          	movb   $0x2,0xa(%edx)
5477b5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5477b8:	c6 41 0b 20          	movb   $0x20,0xb(%ecx)
5477bc:	c1 e0 02             	shl    $0x2,%eax
5477bf:	8b 55 fc             	mov    -0x4(%ebp),%edx
5477c2:	89 42 04             	mov    %eax,0x4(%edx)
5477c5:	e9 9d 01 00 00       	jmp    0x547967
5477ca:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5477cd:	8a 49 08             	mov    0x8(%ecx),%cl
5477d0:	80 f9 02             	cmp    $0x2,%cl
5477d3:	0f 85 8e 01 00 00    	jne    0x547967
5477d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5477dc:	8a 49 09             	mov    0x9(%ecx),%cl
5477df:	80 f9 08             	cmp    $0x8,%cl
5477e2:	0f 85 a1 00 00 00    	jne    0x547889
5477e8:	f7 c6 80 00 00 00    	test   $0x80,%esi
5477ee:	74 51                	je     0x547841
5477f0:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5477f3:	03 ca                	add    %edx,%ecx
5477f5:	8b d0                	mov    %eax,%edx
5477f7:	03 d1                	add    %ecx,%edx
5477f9:	be 01 00 00 00       	mov    $0x1,%esi
5477fe:	3b c6                	cmp    %esi,%eax
547800:	76 1d                	jbe    0x54781f
547802:	4a                   	dec    %edx
547803:	8a 5d fa             	mov    -0x6(%ebp),%bl
547806:	49                   	dec    %ecx
547807:	46                   	inc    %esi
547808:	88 1a                	mov    %bl,(%edx)
54780a:	4a                   	dec    %edx
54780b:	8a 19                	mov    (%ecx),%bl
54780d:	49                   	dec    %ecx
54780e:	88 1a                	mov    %bl,(%edx)
547810:	4a                   	dec    %edx
547811:	8a 19                	mov    (%ecx),%bl
547813:	49                   	dec    %ecx
547814:	88 1a                	mov    %bl,(%edx)
547816:	4a                   	dec    %edx
547817:	8a 19                	mov    (%ecx),%bl
547819:	3b c6                	cmp    %esi,%eax
54781b:	88 1a                	mov    %bl,(%edx)
54781d:	77 e3                	ja     0x547802
54781f:	4a                   	dec    %edx
547820:	8a 4d fa             	mov    -0x6(%ebp),%cl
547823:	88 0a                	mov    %cl,(%edx)
547825:	8b 55 fc             	mov    -0x4(%ebp),%edx
547828:	c6 42 0a 04          	movb   $0x4,0xa(%edx)
54782c:	8b 55 fc             	mov    -0x4(%ebp),%edx
54782f:	c6 42 0b 20          	movb   $0x20,0xb(%edx)
547833:	c1 e0 02             	shl    $0x2,%eax
547836:	8b 4d fc             	mov    -0x4(%ebp),%ecx
547839:	89 41 04             	mov    %eax,0x4(%ecx)
54783c:	e9 26 01 00 00       	jmp    0x547967
547841:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
547844:	03 ca                	add    %edx,%ecx
547846:	8b d0                	mov    %eax,%edx
547848:	03 d1                	add    %ecx,%edx
54784a:	33 f6                	xor    %esi,%esi
54784c:	3b c6                	cmp    %esi,%eax
54784e:	76 1d                	jbe    0x54786d
547850:	49                   	dec    %ecx
547851:	4a                   	dec    %edx
547852:	46                   	inc    %esi
547853:	8a 19                	mov    (%ecx),%bl
547855:	49                   	dec    %ecx
547856:	88 1a                	mov    %bl,(%edx)
547858:	4a                   	dec    %edx
547859:	8a 19                	mov    (%ecx),%bl
54785b:	49                   	dec    %ecx
54785c:	88 1a                	mov    %bl,(%edx)
54785e:	4a                   	dec    %edx
54785f:	8a 19                	mov    (%ecx),%bl
547861:	88 1a                	mov    %bl,(%edx)
547863:	4a                   	dec    %edx
547864:	8a 5d fa             	mov    -0x6(%ebp),%bl
547867:	3b c6                	cmp    %esi,%eax
547869:	88 1a                	mov    %bl,(%edx)
54786b:	77 e3                	ja     0x547850
54786d:	8b 55 fc             	mov    -0x4(%ebp),%edx
547870:	c6 42 0a 04          	movb   $0x4,0xa(%edx)
547874:	8b 4d fc             	mov    -0x4(%ebp),%ecx
547877:	c6 41 0b 20          	movb   $0x20,0xb(%ecx)
54787b:	c1 e0 02             	shl    $0x2,%eax
54787e:	8b 55 fc             	mov    -0x4(%ebp),%edx
547881:	89 42 04             	mov    %eax,0x4(%edx)
547884:	e9 de 00 00 00       	jmp    0x547967
547889:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54788c:	8a 49 09             	mov    0x9(%ecx),%cl
54788f:	80 f9 10             	cmp    $0x10,%cl