553701:	41                   	inc    %ecx
553702:	46                   	inc    %esi
553703:	3b fe                	cmp    %esi,%edi
553705:	77 d3                	ja     0x5536da
553707:	5a                   	pop    %edx
553708:	5f                   	pop    %edi
553709:	5e                   	pop    %esi
55370a:	5b                   	pop    %ebx
55370b:	c3                   	ret
55370c:	56                   	push   %esi
55370d:	57                   	push   %edi
55370e:	55                   	push   %ebp
55370f:	8a 48 08             	mov    0x8(%eax),%cl
553712:	80 f9 06             	cmp    $0x6,%cl
553715:	0f 85 8d 00 00 00    	jne    0x5537a8
55371b:	8a 48 09             	mov    0x9(%eax),%cl
55371e:	80 f9 08             	cmp    $0x8,%cl
553721:	75 36                	jne    0x553759
553723:	8b 28                	mov    (%eax),%ebp
553725:	33 ff                	xor    %edi,%edi
553727:	8b f2                	mov    %edx,%esi
553729:	8b c2                	mov    %edx,%eax
55372b:	3b ef                	cmp    %edi,%ebp
55372d:	0f 86 d5 00 00 00    	jbe    0x553808
553733:	8a 08                	mov    (%eax),%cl
553735:	40                   	inc    %eax
553736:	88 0e                	mov    %cl,(%esi)
553738:	46                   	inc    %esi
553739:	8a 10                	mov    (%eax),%dl
55373b:	40                   	inc    %eax
55373c:	88 16                	mov    %dl,(%esi)
55373e:	46                   	inc    %esi
55373f:	8a 08                	mov    (%eax),%cl
553741:	40                   	inc    %eax
553742:	88 0e                	mov    %cl,(%esi)
553744:	46                   	inc    %esi
553745:	8a 08                	mov    (%eax),%cl
553747:	b2 ff                	mov    $0xff,%dl
553749:	2a d1                	sub    %cl,%dl
55374b:	40                   	inc    %eax
55374c:	88 16                	mov    %dl,(%esi)
55374e:	46                   	inc    %esi
55374f:	47                   	inc    %edi
553750:	3b ef                	cmp    %edi,%ebp
553752:	77 df                	ja     0x553733
553754:	e9 af 00 00 00       	jmp    0x553808
553759:	8b 28                	mov    (%eax),%ebp
55375b:	33 ff                	xor    %edi,%edi
55375d:	8b f2                	mov    %edx,%esi
55375f:	8b c2                	mov    %edx,%eax
553761:	3b ef                	cmp    %edi,%ebp
553763:	0f 86 9f 00 00 00    	jbe    0x553808
553769:	8a 08                	mov    (%eax),%cl
55376b:	40                   	inc    %eax
55376c:	88 0e                	mov    %cl,(%esi)
55376e:	46                   	inc    %esi
55376f:	8a 10                	mov    (%eax),%dl
553771:	40                   	inc    %eax
553772:	88 16                	mov    %dl,(%esi)
553774:	46                   	inc    %esi
553775:	8a 08                	mov    (%eax),%cl
553777:	40                   	inc    %eax
553778:	88 0e                	mov    %cl,(%esi)
55377a:	46                   	inc    %esi
55377b:	8a 10                	mov    (%eax),%dl
55377d:	40                   	inc    %eax
55377e:	88 16                	mov    %dl,(%esi)
553780:	46                   	inc    %esi
553781:	8a 08                	mov    (%eax),%cl
553783:	40                   	inc    %eax
553784:	88 0e                	mov    %cl,(%esi)
553786:	46                   	inc    %esi
553787:	8a 10                	mov    (%eax),%dl
553789:	40                   	inc    %eax
55378a:	88 16                	mov    %dl,(%esi)
55378c:	46                   	inc    %esi
55378d:	8a 10                	mov    (%eax),%dl
55378f:	b1 ff                	mov    $0xff,%cl
553791:	2a ca                	sub    %dl,%cl
553793:	40                   	inc    %eax
553794:	88 0e                	mov    %cl,(%esi)
553796:	46                   	inc    %esi
553797:	8a 10                	mov    (%eax),%dl
553799:	b1 ff                	mov    $0xff,%cl
55379b:	2a ca                	sub    %dl,%cl
55379d:	40                   	inc    %eax
55379e:	88 0e                	mov    %cl,(%esi)
5537a0:	46                   	inc    %esi
5537a1:	47                   	inc    %edi
5537a2:	3b ef                	cmp    %edi,%ebp
5537a4:	77 c3                	ja     0x553769
5537a6:	eb 60                	jmp    0x553808
5537a8:	8a 48 08             	mov    0x8(%eax),%cl
5537ab:	80 f9 04             	cmp    $0x4,%cl
5537ae:	75 58                	jne    0x553808
5537b0:	8a 48 09             	mov    0x9(%eax),%cl
5537b3:	80 f9 08             	cmp    $0x8,%cl
5537b6:	75 23                	jne    0x5537db
5537b8:	8b 28                	mov    (%eax),%ebp
5537ba:	33 ff                	xor    %edi,%edi
5537bc:	8b f2                	mov    %edx,%esi
5537be:	8b c2                	mov    %edx,%eax
5537c0:	3b ef                	cmp    %edi,%ebp
5537c2:	76 44                	jbe    0x553808
5537c4:	8a 08                	mov    (%eax),%cl
5537c6:	40                   	inc    %eax
5537c7:	88 0e                	mov    %cl,(%esi)
5537c9:	46                   	inc    %esi
5537ca:	8a 08                	mov    (%eax),%cl
5537cc:	b2 ff                	mov    $0xff,%dl
5537ce:	2a d1                	sub    %cl,%dl
5537d0:	40                   	inc    %eax
5537d1:	88 16                	mov    %dl,(%esi)
5537d3:	46                   	inc    %esi
5537d4:	47                   	inc    %edi
5537d5:	3b ef                	cmp    %edi,%ebp
5537d7:	77 eb                	ja     0x5537c4
5537d9:	eb 2d                	jmp    0x553808
5537db:	8b 38                	mov    (%eax),%edi
5537dd:	33 f6                	xor    %esi,%esi
5537df:	8b ca                	mov    %edx,%ecx
5537e1:	8b c2                	mov    %edx,%eax
5537e3:	3b fe                	cmp    %esi,%edi
5537e5:	76 21                	jbe    0x553808
5537e7:	8a 10                	mov    (%eax),%dl
5537e9:	40                   	inc    %eax
5537ea:	88 11                	mov    %dl,(%ecx)
5537ec:	41                   	inc    %ecx
5537ed:	8a 10                	mov    (%eax),%dl
5537ef:	40                   	inc    %eax
5537f0:	88 11                	mov    %dl,(%ecx)
5537f2:	b2 ff                	mov    $0xff,%dl
5537f4:	2a 10                	sub    (%eax),%dl
5537f6:	41                   	inc    %ecx
5537f7:	40                   	inc    %eax
5537f8:	46                   	inc    %esi
5537f9:	88 11                	mov    %dl,(%ecx)
5537fb:	41                   	inc    %ecx
5537fc:	b2 ff                	mov    $0xff,%dl
5537fe:	2a 10                	sub    (%eax),%dl
553800:	40                   	inc    %eax
553801:	88 11                	mov    %dl,(%ecx)
553803:	41                   	inc    %ecx
553804:	3b fe                	cmp    %esi,%edi
553806:	77 df                	ja     0x5537e7
553808:	5d                   	pop    %ebp
553809:	5f                   	pop    %edi
55380a:	5e                   	pop    %esi
55380b:	c3                   	ret
55380c:	53                   	push   %ebx
55380d:	56                   	push   %esi
55380e:	57                   	push   %edi
55380f:	55                   	push   %ebp
553810:	83 c4 f8             	add    $0xfffffff8,%esp
553813:	8a 48 08             	mov    0x8(%eax),%cl
553816:	f6 c1 02             	test   $0x2,%cl
553819:	0f 84 f6 00 00 00    	je     0x553915
55381f:	80 78 09 08          	cmpb   $0x8,0x9(%eax)
553823:	8b 38                	mov    (%eax),%edi
553825:	75 48                	jne    0x55386f
553827:	80 f9 02             	cmp    $0x2,%cl
55382a:	75 07                	jne    0x553833
55382c:	b9 03 00 00 00       	mov    $0x3,%ecx
553831:	eb 0e                	jmp    0x553841
553833:	80 f9 06             	cmp    $0x6,%cl
553836:	0f 85 d9 00 00 00    	jne    0x553915
55383c:	b9 04 00 00 00       	mov    $0x4,%ecx
553841:	33 f6                	xor    %esi,%esi
553843:	8b c2                	mov    %edx,%eax
553845:	3b fe                	cmp    %esi,%edi
553847:	0f 86 c8 00 00 00    	jbe    0x553915
55384d:	8a 10                	mov    (%eax),%dl
55384f:	46                   	inc    %esi
553850:	2a 50 01             	sub    0x1(%eax),%dl
553853:	80 e2 ff             	and    $0xff,%dl
553856:	88 10                	mov    %dl,(%eax)
553858:	8a 50 02             	mov    0x2(%eax),%dl
55385b:	2a 50 01             	sub    0x1(%eax),%dl
55385e:	80 e2 ff             	and    $0xff,%dl
553861:	88 50 02             	mov    %dl,0x2(%eax)
553864:	03 c1                	add    %ecx,%eax
553866:	3b fe                	cmp    %esi,%edi
553868:	77 e3                	ja     0x55384d
55386a:	e9 a6 00 00 00       	jmp    0x553915
55386f:	8a 48 09             	mov    0x9(%eax),%cl
553872:	80 f9 10             	cmp    $0x10,%cl
553875:	0f 85 9a 00 00 00    	jne    0x553915
55387b:	8a 48 08             	mov    0x8(%eax),%cl
55387e:	80 f9 02             	cmp    $0x2,%cl
553881:	75 07                	jne    0x55388a
553883:	b9 06 00 00 00       	mov    $0x6,%ecx
553888:	eb 0e                	jmp    0x553898
55388a:	80 f9 06             	cmp    $0x6,%cl
55388d:	0f 85 82 00 00 00    	jne    0x553915
553893:	b9 08 00 00 00       	mov    $0x8,%ecx
553898:	33 f6                	xor    %esi,%esi
55389a:	8b c2                	mov    %edx,%eax
55389c:	3b fe                	cmp    %esi,%edi
55389e:	76 75                	jbe    0x553915
5538a0:	33 d2                	xor    %edx,%edx
5538a2:	33 db                	xor    %ebx,%ebx
5538a4:	8a 10                	mov    (%eax),%dl
5538a6:	8a 58 01             	mov    0x1(%eax),%bl
5538a9:	c1 e2 08             	shl    $0x8,%edx
5538ac:	0b d3                	or     %ebx,%edx
5538ae:	33 db                	xor    %ebx,%ebx
5538b0:	89 14 24             	mov    %edx,(%esp)
5538b3:	33 d2                	xor    %edx,%edx
5538b5:	8a 50 02             	mov    0x2(%eax),%dl
5538b8:	8a 58 03             	mov    0x3(%eax),%bl
5538bb:	0f b6 68 05          	movzbl 0x5(%eax),%ebp
5538bf:	c1 e2 08             	shl    $0x8,%edx
5538c2:	0b d3                	or     %ebx,%edx
5538c4:	33 db                	xor    %ebx,%ebx
5538c6:	8a 58 04             	mov    0x4(%eax),%bl
5538c9:	c1 e3 08             	shl    $0x8,%ebx
5538cc:	0b dd                	or     %ebp,%ebx
5538ce:	89 5c 24 04          	mov    %ebx,0x4(%esp)
5538d2:	8b 5c 24 04          	mov    0x4(%esp),%ebx
5538d6:	8b 2c 24             	mov    (%esp),%ebp
5538d9:	2b da                	sub    %edx,%ebx
5538db:	2b ea                	sub    %edx,%ebp
5538dd:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
5538e3:	81 e5 ff ff 00 00    	and    $0xffff,%ebp
5538e9:	8b d3                	mov    %ebx,%edx
5538eb:	8b dd                	mov    %ebp,%ebx
5538ed:	c1 eb 08             	shr    $0x8,%ebx
5538f0:	80 e3 ff             	and    $0xff,%bl
5538f3:	88 18                	mov    %bl,(%eax)
5538f5:	8b dd                	mov    %ebp,%ebx
5538f7:	80 e3 ff             	and    $0xff,%bl
5538fa:	88 58 01             	mov    %bl,0x1(%eax)
5538fd:	8b da                	mov    %edx,%ebx
5538ff:	c1 eb 08             	shr    $0x8,%ebx
553902:	80 e3 ff             	and    $0xff,%bl
553905:	80 e2 ff             	and    $0xff,%dl
553908:	88 58 04             	mov    %bl,0x4(%eax)
55390b:	88 50 05             	mov    %dl,0x5(%eax)
55390e:	46                   	inc    %esi
55390f:	03 c1                	add    %ecx,%eax
553911:	3b fe                	cmp    %esi,%edi
553913:	77 8b                	ja     0x5538a0
553915:	59                   	pop    %ecx
553916:	5a                   	pop    %edx
553917:	5d                   	pop    %ebp
553918:	5f                   	pop    %edi
553919:	5e                   	pop    %esi
55391a:	5b                   	pop    %ebx
55391b:	c3                   	ret
55391c:	8b ca                	mov    %edx,%ecx
55391e:	c1 e9 18             	shr    $0x18,%ecx
553921:	80 e1 ff             	and    $0xff,%cl
553924:	88 08                	mov    %cl,(%eax)
553926:	8b ca                	mov    %edx,%ecx
553928:	c1 e9 10             	shr    $0x10,%ecx
55392b:	80 e1 ff             	and    $0xff,%cl
55392e:	88 48 01             	mov    %cl,0x1(%eax)
553931:	8b ca                	mov    %edx,%ecx
553933:	c1 e9 08             	shr    $0x8,%ecx
553936:	80 e1 ff             	and    $0xff,%cl
553939:	80 e2 ff             	and    $0xff,%dl
55393c:	88 48 02             	mov    %cl,0x2(%eax)
55393f:	88 50 03             	mov    %dl,0x3(%eax)
553942:	c3                   	ret
553943:	90                   	nop
553944:	8b ca                	mov    %edx,%ecx
553946:	c1 f9 18             	sar    $0x18,%ecx
553949:	80 e1 ff             	and    $0xff,%cl
55394c:	88 08                	mov    %cl,(%eax)
55394e:	8b ca                	mov    %edx,%ecx
553950:	c1 f9 10             	sar    $0x10,%ecx
553953:	80 e1 ff             	and    $0xff,%cl
553956:	88 48 01             	mov    %cl,0x1(%eax)
553959:	8b ca                	mov    %edx,%ecx
55395b:	c1 f9 08             	sar    $0x8,%ecx
55395e:	80 e1 ff             	and    $0xff,%cl
553961:	80 e2 ff             	and    $0xff,%dl
553964:	88 48 02             	mov    %cl,0x2(%eax)
553967:	88 50 03             	mov    %dl,0x3(%eax)
55396a:	c3                   	ret
55396b:	90                   	nop
55396c:	8b ca                	mov    %edx,%ecx
55396e:	c1 e9 08             	shr    $0x8,%ecx
553971:	80 e1 ff             	and    $0xff,%cl
553974:	80 e2 ff             	and    $0xff,%dl
553977:	88 08                	mov    %cl,(%eax)
553979:	88 50 01             	mov    %dl,0x1(%eax)
55397c:	c3                   	ret
55397d:	90                   	nop
55397e:	90                   	nop
55397f:	90                   	nop
553980:	55                   	push   %ebp
553981:	8b ec                	mov    %esp,%ebp
553983:	51                   	push   %ecx
553984:	53                   	push   %ebx
553985:	56                   	push   %esi
553986:	89 4d fc             	mov    %ecx,-0x4(%ebp)
553989:	8b d8                	mov    %eax,%ebx
55398b:	8b 75 08             	mov    0x8(%ebp),%esi
55398e:	8b ce                	mov    %esi,%ecx
553990:	8b c3                	mov    %ebx,%eax
553992:	e8 1d 00 00 00       	call   0x5539b4
553997:	8b ce                	mov    %esi,%ecx
553999:	8b 55 fc             	mov    -0x4(%ebp),%edx
55399c:	8b c3                	mov    %ebx,%eax
55399e:	e8 59 00 00 00       	call   0x5539fc
5539a3:	8b c3                	mov    %ebx,%eax
5539a5:	e8 7e 00 00 00       	call   0x553a28
5539aa:	5e                   	pop    %esi
5539ab:	5b                   	pop    %ebx
5539ac:	59                   	pop    %ecx
5539ad:	5d                   	pop    %ebp
5539ae:	c2 04 00             	ret    $0x4
5539b1:	90                   	nop
5539b2:	90                   	nop
5539b3:	90                   	nop
5539b4:	53                   	push   %ebx
5539b5:	56                   	push   %esi
5539b6:	51                   	push   %ecx
5539b7:	8b f2                	mov    %edx,%esi
5539b9:	8b d8                	mov    %eax,%ebx
5539bb:	8b c4                	mov    %esp,%eax
5539bd:	8b d1                	mov    %ecx,%edx
5539bf:	e8 58 ff ff ff       	call   0x55391c
5539c4:	8b d4                	mov    %esp,%edx
5539c6:	b9 04 00 00 00       	mov    $0x4,%ecx
5539cb:	8b c3                	mov    %ebx,%eax
5539cd:	e8 a2 f6 ff ff       	call   0x553074
5539d2:	b9 04 00 00 00       	mov    $0x4,%ecx
5539d7:	8b d6                	mov    %esi,%edx
5539d9:	8b c3                	mov    %ebx,%eax
5539db:	e8 94 f6 ff ff       	call   0x553074
5539e0:	8b c3                	mov    %ebx,%eax
5539e2:	e8 d9 32 00 00       	call   0x556cc0
5539e7:	b9 04 00 00 00       	mov    $0x4,%ecx
5539ec:	8b d6                	mov    %esi,%edx
5539ee:	8b c3                	mov    %ebx,%eax
5539f0:	e8 e3 32 00 00       	call   0x556cd8
5539f5:	5a                   	pop    %edx
5539f6:	5e                   	pop    %esi
5539f7:	5b                   	pop    %ebx
5539f8:	c3                   	ret
5539f9:	90                   	nop
5539fa:	90                   	nop
5539fb:	90                   	nop
5539fc:	53                   	push   %ebx
5539fd:	56                   	push   %esi
5539fe:	57                   	push   %edi
5539ff:	8b f1                	mov    %ecx,%esi
553a01:	8b da                	mov    %edx,%ebx