55c73b:	0f b6 46 01          	movzbl 0x1(%esi),%eax
55c73f:	03 de                	add    %esi,%ebx
55c741:	89 7d f8             	mov    %edi,-0x8(%ebp)
55c744:	3b c1                	cmp    %ecx,%eax
55c746:	0f 85 90 00 00 00    	jne    0x55c7dc
55c74c:	0f b6 80 e0 30 6b 00 	movzbl 0x6b30e0(%eax),%eax
55c753:	33 d2                	xor    %edx,%edx
55c755:	33 f6                	xor    %esi,%esi
55c757:	89 45 fc             	mov    %eax,-0x4(%ebp)
55c75a:	85 c0                	test   %eax,%eax
55c75c:	74 35                	je     0x55c793
55c75e:	8b cb                	mov    %ebx,%ecx
55c760:	2b fb                	sub    %ebx,%edi
55c762:	0f b6 04 0f          	movzbl (%edi,%ecx,1),%eax
55c766:	0f b6 11             	movzbl (%ecx),%edx
55c769:	2b d0                	sub    %eax,%edx
55c76b:	75 09                	jne    0x55c776
55c76d:	46                   	inc    %esi
55c76e:	41                   	inc    %ecx
55c76f:	3b 75 fc             	cmp    -0x4(%ebp),%esi
55c772:	7c ee                	jl     0x55c762
55c774:	eb 1d                	jmp    0x55c793
55c776:	8b 45 f8             	mov    -0x8(%ebp),%eax
55c779:	8a 0b                	mov    (%ebx),%cl
55c77b:	8a 00                	mov    (%eax),%al
55c77d:	32 c1                	xor    %cl,%al
55c77f:	7d 0e                	jge    0x55c78f
55c781:	33 d2                	xor    %edx,%edx
55c783:	84 c9                	test   %cl,%cl
55c785:	0f 99 c2             	setns  %dl
55c788:	8d 14 55 ff ff ff ff 	lea    -0x1(,%edx,2),%edx
55c78f:	85 d2                	test   %edx,%edx
55c791:	75 77                	jne    0x55c80a
55c793:	8b 4d 08             	mov    0x8(%ebp),%ecx
55c796:	8b 41 08             	mov    0x8(%ecx),%eax
55c799:	8b 40 1c             	mov    0x1c(%eax),%eax
55c79c:	66 83 78 06 01       	cmpw   $0x1,0x6(%eax)
55c7a1:	76 7a                	jbe    0x55c81d
55c7a3:	8b 7d 0c             	mov    0xc(%ebp),%edi
55c7a6:	8b 71 0c             	mov    0xc(%ecx),%esi
55c7a9:	83 3f 00             	cmpl   $0x0,(%edi)
55c7ac:	75 16                	jne    0x55c7c4
55c7ae:	56                   	push   %esi
55c7af:	ff 75 18             	push   0x18(%ebp)
55c7b2:	ff 75 1c             	push   0x1c(%ebp)
55c7b5:	50                   	push   %eax
55c7b6:	e8 05 03 ff ff       	call   0x54cac0
55c7bb:	83 c4 10             	add    $0x10,%esp
55c7be:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
55c7c4:	6a 01                	push   $0x1
55c7c6:	56                   	push   %esi
55c7c7:	ff 75 10             	push   0x10(%ebp)
55c7ca:	ff 75 14             	push   0x14(%ebp)
55c7cd:	e8 6e fd fe ff       	call   0x54c540
55c7d2:	83 c4 10             	add    $0x10,%esp
55c7d5:	5f                   	pop    %edi
55c7d6:	5e                   	pop    %esi
55c7d7:	5b                   	pop    %ebx
55c7d8:	8b e5                	mov    %ebp,%esp
55c7da:	5d                   	pop    %ebp
55c7db:	c3                   	ret
55c7dc:	83 f8 07             	cmp    $0x7,%eax
55c7df:	76 0b                	jbe    0x55c7ec
55c7e1:	83 f9 07             	cmp    $0x7,%ecx
55c7e4:	76 12                	jbe    0x55c7f8
55c7e6:	8b d0                	mov    %eax,%edx
55c7e8:	2b d1                	sub    %ecx,%edx
55c7ea:	eb a3                	jmp    0x55c78f
55c7ec:	83 f9 07             	cmp    $0x7,%ecx
55c7ef:	76 07                	jbe    0x55c7f8
55c7f1:	ba 01 00 00 00       	mov    $0x1,%edx
55c7f6:	eb 36                	jmp    0x55c82e
55c7f8:	83 f8 07             	cmp    $0x7,%eax
55c7fb:	76 29                	jbe    0x55c826
55c7fd:	83 ca ff             	or     $0xffffffff,%edx
55c800:	80 3f 00             	cmpb   $0x0,(%edi)
55c803:	7d 8a                	jge    0x55c78f
55c805:	ba 01 00 00 00       	mov    $0x1,%edx
55c80a:	8b 4d 08             	mov    0x8(%ebp),%ecx
55c80d:	8b 49 08             	mov    0x8(%ecx),%ecx
55c810:	8b 49 1c             	mov    0x1c(%ecx),%ecx
55c813:	8b 49 10             	mov    0x10(%ecx),%ecx
55c816:	80 39 00             	cmpb   $0x0,(%ecx)
55c819:	74 02                	je     0x55c81d
55c81b:	f7 da                	neg    %edx
55c81d:	5f                   	pop    %edi
55c81e:	5e                   	pop    %esi
55c81f:	8b c2                	mov    %edx,%eax
55c821:	5b                   	pop    %ebx
55c822:	8b e5                	mov    %ebp,%esp
55c824:	5d                   	pop    %ebp
55c825:	c3                   	ret
55c826:	8b d0                	mov    %eax,%edx
55c828:	2b d1                	sub    %ecx,%edx
55c82a:	85 d2                	test   %edx,%edx
55c82c:	7e d2                	jle    0x55c800
55c82e:	80 3b 00             	cmpb   $0x0,(%ebx)
55c831:	0f 8d 58 ff ff ff    	jge    0x55c78f
55c837:	83 ca ff             	or     $0xffffffff,%edx
55c83a:	eb ce                	jmp    0x55c80a
55c83c:	cc                   	int3
55c83d:	cc                   	int3
55c83e:	cc                   	int3
55c83f:	cc                   	int3
55c840:	55                   	push   %ebp
55c841:	8b ec                	mov    %esp,%ebp
55c843:	51                   	push   %ecx
55c844:	8b 45 10             	mov    0x10(%ebp),%eax
55c847:	53                   	push   %ebx
55c848:	8b 5d 18             	mov    0x18(%ebp),%ebx
55c84b:	56                   	push   %esi
55c84c:	0f b6 30             	movzbl (%eax),%esi
55c84f:	8a 48 01             	mov    0x1(%eax),%cl
55c852:	03 f0                	add    %eax,%esi
55c854:	40                   	inc    %eax
55c855:	57                   	push   %edi
55c856:	0f b6 3b             	movzbl (%ebx),%edi
55c859:	03 fb                	add    %ebx,%edi
55c85b:	80 f9 80             	cmp    $0x80,%cl
55c85e:	73 08                	jae    0x55c868
55c860:	0f b6 d1             	movzbl %cl,%edx
55c863:	89 55 18             	mov    %edx,0x18(%ebp)
55c866:	eb 13                	jmp    0x55c87b
55c868:	8d 4d 18             	lea    0x18(%ebp),%ecx
55c86b:	51                   	push   %ecx
55c86c:	50                   	push   %eax
55c86d:	e8 ce 0f fd ff       	call   0x52d840
55c872:	8b 45 18             	mov    0x18(%ebp),%eax
55c875:	83 c4 08             	add    $0x8,%esp
55c878:	89 45 18             	mov    %eax,0x18(%ebp)
55c87b:	8a 4b 01             	mov    0x1(%ebx),%cl
55c87e:	8d 43 01             	lea    0x1(%ebx),%eax
55c881:	80 f9 80             	cmp    $0x80,%cl
55c884:	73 05                	jae    0x55c88b
55c886:	0f b6 c9             	movzbl %cl,%ecx
55c889:	eb 10                	jmp    0x55c89b
55c88b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
55c88e:	51                   	push   %ecx
55c88f:	50                   	push   %eax
55c890:	e8 ab 0f fd ff       	call   0x52d840
55c895:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55c898:	83 c4 08             	add    $0x8,%esp
55c89b:	39 4d 18             	cmp    %ecx,0x18(%ebp)
55c89e:	8b c1                	mov    %ecx,%eax
55c8a0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
55c8a3:	0f 4c 45 18          	cmovl  0x18(%ebp),%eax
55c8a7:	83 e8 0d             	sub    $0xd,%eax
55c8aa:	99                   	cltd
55c8ab:	2b c2                	sub    %edx,%eax
55c8ad:	8b c8                	mov    %eax,%ecx
55c8af:	d1 f9                	sar    $1,%ecx
55c8b1:	83 e9 04             	sub    $0x4,%ecx
55c8b4:	72 11                	jb     0x55c8c7
55c8b6:	8b 06                	mov    (%esi),%eax
55c8b8:	3b 07                	cmp    (%edi),%eax
55c8ba:	75 10                	jne    0x55c8cc
55c8bc:	83 c6 04             	add    $0x4,%esi
55c8bf:	83 c7 04             	add    $0x4,%edi
55c8c2:	83 e9 04             	sub    $0x4,%ecx
55c8c5:	73 ef                	jae    0x55c8b6
55c8c7:	83 f9 fc             	cmp    $0xfffffffc,%ecx
55c8ca:	74 34                	je     0x55c900
55c8cc:	8a 06                	mov    (%esi),%al
55c8ce:	3a 07                	cmp    (%edi),%al
55c8d0:	75 27                	jne    0x55c8f9
55c8d2:	83 f9 fd             	cmp    $0xfffffffd,%ecx
55c8d5:	74 29                	je     0x55c900
55c8d7:	8a 46 01             	mov    0x1(%esi),%al
55c8da:	3a 47 01             	cmp    0x1(%edi),%al
55c8dd:	75 1a                	jne    0x55c8f9
55c8df:	83 f9 fe             	cmp    $0xfffffffe,%ecx
55c8e2:	74 1c                	je     0x55c900
55c8e4:	8a 46 02             	mov    0x2(%esi),%al
55c8e7:	3a 47 02             	cmp    0x2(%edi),%al
55c8ea:	75 0d                	jne    0x55c8f9
55c8ec:	83 f9 ff             	cmp    $0xffffffff,%ecx
55c8ef:	74 0f                	je     0x55c900
55c8f1:	8a 46 03             	mov    0x3(%esi),%al
55c8f4:	3a 47 03             	cmp    0x3(%edi),%al
55c8f7:	74 07                	je     0x55c900
55c8f9:	1b d2                	sbb    %edx,%edx
55c8fb:	83 ca 01             	or     $0x1,%edx
55c8fe:	eb 02                	jmp    0x55c902
55c900:	33 d2                	xor    %edx,%edx
55c902:	85 d2                	test   %edx,%edx
55c904:	75 4e                	jne    0x55c954
55c906:	8b 55 18             	mov    0x18(%ebp),%edx
55c909:	2b 55 fc             	sub    -0x4(%ebp),%edx
55c90c:	75 46                	jne    0x55c954
55c90e:	8b 4d 08             	mov    0x8(%ebp),%ecx
55c911:	8b 41 08             	mov    0x8(%ecx),%eax
55c914:	8b 40 1c             	mov    0x1c(%eax),%eax
55c917:	66 83 78 06 01       	cmpw   $0x1,0x6(%eax)
55c91c:	76 49                	jbe    0x55c967
55c91e:	8b 7d 0c             	mov    0xc(%ebp),%edi
55c921:	8b 71 0c             	mov    0xc(%ecx),%esi
55c924:	39 17                	cmp    %edx,(%edi)
55c926:	75 14                	jne    0x55c93c
55c928:	56                   	push   %esi
55c929:	53                   	push   %ebx
55c92a:	ff 75 1c             	push   0x1c(%ebp)
55c92d:	50                   	push   %eax
55c92e:	e8 8d 01 ff ff       	call   0x54cac0
55c933:	83 c4 10             	add    $0x10,%esp
55c936:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
55c93c:	6a 01                	push   $0x1
55c93e:	56                   	push   %esi
55c93f:	ff 75 10             	push   0x10(%ebp)
55c942:	ff 75 14             	push   0x14(%ebp)
55c945:	e8 f6 fb fe ff       	call   0x54c540
55c94a:	83 c4 10             	add    $0x10,%esp
55c94d:	5f                   	pop    %edi
55c94e:	5e                   	pop    %esi
55c94f:	5b                   	pop    %ebx
55c950:	8b e5                	mov    %ebp,%esp
55c952:	5d                   	pop    %ebp
55c953:	c3                   	ret
55c954:	8b 4d 08             	mov    0x8(%ebp),%ecx
55c957:	8b 49 08             	mov    0x8(%ecx),%ecx
55c95a:	8b 49 1c             	mov    0x1c(%ecx),%ecx
55c95d:	8b 49 10             	mov    0x10(%ecx),%ecx
55c960:	80 39 00             	cmpb   $0x0,(%ecx)
55c963:	74 02                	je     0x55c967
55c965:	f7 da                	neg    %edx
55c967:	5f                   	pop    %edi
55c968:	5e                   	pop    %esi
55c969:	8b c2                	mov    %edx,%eax
55c96b:	5b                   	pop    %ebx
55c96c:	8b e5                	mov    %ebp,%esp
55c96e:	5d                   	pop    %ebp
55c96f:	c3                   	ret
55c970:	55                   	push   %ebp
55c971:	8b ec                	mov    %esp,%ebp
55c973:	83 ec 0c             	sub    $0xc,%esp
55c976:	a1 d4 89 72 00       	mov    0x7289d4,%eax
55c97b:	33 c5                	xor    %ebp,%eax
55c97d:	89 45 fc             	mov    %eax,-0x4(%ebp)
55c980:	8b 45 08             	mov    0x8(%ebp),%eax
55c983:	56                   	push   %esi
55c984:	8b 75 0c             	mov    0xc(%ebp),%esi
55c987:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
55c98d:	99                   	cltd
55c98e:	39 55 14             	cmp    %edx,0x14(%ebp)
55c991:	7f 69                	jg     0x55c9fc
55c993:	7c 05                	jl     0x55c99a
55c995:	39 45 10             	cmp    %eax,0x10(%ebp)
55c998:	77 62                	ja     0x55c9fc
55c99a:	8b 06                	mov    (%esi),%eax
55c99c:	83 38 03             	cmpl   $0x3,(%eax)
55c99f:	7c 5b                	jl     0x55c9fc
55c9a1:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
55c9a8:	c7 45 f8 00 10 00 00 	movl   $0x1000,-0x8(%ebp)
55c9af:	85 c0                	test   %eax,%eax
55c9b1:	74 24                	je     0x55c9d7
55c9b3:	8b 40 28             	mov    0x28(%eax),%eax
55c9b6:	8d 4d f8             	lea    -0x8(%ebp),%ecx
55c9b9:	51                   	push   %ecx
55c9ba:	6a 06                	push   $0x6
55c9bc:	56                   	push   %esi
55c9bd:	ff d0                	call   *%eax
55c9bf:	8b 06                	mov    (%esi),%eax
55c9c1:	83 c4 0c             	add    $0xc,%esp
55c9c4:	85 c0                	test   %eax,%eax
55c9c6:	74 0f                	je     0x55c9d7
55c9c8:	8b 40 28             	mov    0x28(%eax),%eax
55c9cb:	8d 4d 10             	lea    0x10(%ebp),%ecx
55c9ce:	51                   	push   %ecx
55c9cf:	6a 05                	push   $0x5
55c9d1:	56                   	push   %esi
55c9d2:	ff d0                	call   *%eax
55c9d4:	83 c4 0c             	add    $0xc,%esp
55c9d7:	8b 06                	mov    (%esi),%eax
55c9d9:	8d 4d f4             	lea    -0xc(%ebp),%ecx
55c9dc:	51                   	push   %ecx
55c9dd:	ff 75 10             	push   0x10(%ebp)
55c9e0:	8b 40 44             	mov    0x44(%eax),%eax
55c9e3:	6a 00                	push   $0x0
55c9e5:	6a 00                	push   $0x0
55c9e7:	56                   	push   %esi
55c9e8:	ff d0                	call   *%eax
55c9ea:	ff 75 f4             	push   -0xc(%ebp)
55c9ed:	8b 06                	mov    (%esi),%eax
55c9ef:	6a 00                	push   $0x0
55c9f1:	6a 00                	push   $0x0
55c9f3:	56                   	push   %esi
55c9f4:	8b 40 48             	mov    0x48(%eax),%eax
55c9f7:	ff d0                	call   *%eax
55c9f9:	83 c4 24             	add    $0x24,%esp
55c9fc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55c9ff:	33 cd                	xor    %ebp,%ecx
55ca01:	5e                   	pop    %esi
55ca02:	e8 d3 4a 08 00       	call   0x5e14da
55ca07:	8b e5                	mov    %ebp,%esp
55ca09:	5d                   	pop    %ebp
55ca0a:	c3                   	ret
55ca0b:	cc                   	int3
55ca0c:	cc                   	int3
55ca0d:	cc                   	int3
55ca0e:	cc                   	int3
55ca0f:	cc                   	int3
55ca10:	55                   	push   %ebp
55ca11:	8b ec                	mov    %esp,%ebp
55ca13:	51                   	push   %ecx
55ca14:	53                   	push   %ebx
55ca15:	8b 5d 08             	mov    0x8(%ebp),%ebx
55ca18:	56                   	push   %esi
55ca19:	57                   	push   %edi
55ca1a:	33 f6                	xor    %esi,%esi
55ca1c:	33 ff                	xor    %edi,%edi
55ca1e:	0f b6 4b 3b          	movzbl 0x3b(%ebx),%ecx
55ca22:	49                   	dec    %ecx
55ca23:	c6 43 38 01          	movb   $0x1,0x38(%ebx)
55ca27:	89 4d fc             	mov    %ecx,-0x4(%ebp)
55ca2a:	85 c9                	test   %ecx,%ecx
55ca2c:	7e 5d                	jle    0x55ca8b
55ca2e:	66 90                	xchg   %ax,%ax
55ca30:	0f b6 43 3a          	movzbl 0x3a(%ebx),%eax
55ca34:	40                   	inc    %eax
55ca35:	03 c7                	add    %edi,%eax
55ca37:	99                   	cltd
55ca38:	f7 f9                	idiv   %ecx
55ca3a:	8d 72 01             	lea    0x1(%edx),%esi
55ca3d:	8d 34 f2             	lea    (%edx,%esi,8),%esi
55ca40:	83 7c f3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,8)
55ca45:	8d 34 f3             	lea    (%ebx,%esi,8),%esi
55ca48:	74 37                	je     0x55ca81
55ca4a:	8b 16                	mov    (%esi),%edx
55ca4c:	33 c0                	xor    %eax,%eax
55ca4e:	85 d2                	test   %edx,%edx
55ca50:	74 27                	je     0x55ca79
55ca52:	8d 45 08             	lea    0x8(%ebp),%eax
55ca55:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
55ca5c:	50                   	push   %eax
55ca5d:	52                   	push   %edx
55ca5e:	e8 9d 16 fe ff       	call   0x53e100
55ca63:	8b 45 08             	mov    0x8(%ebp),%eax
55ca66:	83 c4 08             	add    $0x8,%esp
55ca69:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55ca6c:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
55ca73:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
55ca79:	85 c0                	test   %eax,%eax
55ca7b:	0f 85 8a 00 00 00    	jne    0x55cb0b
55ca81:	83 3e 00             	cmpl   $0x0,(%esi)
55ca84:	74 05                	je     0x55ca8b
55ca86:	47                   	inc    %edi
55ca87:	3b f9                	cmp    %ecx,%edi
55ca89:	7c a5                	jl     0x55ca30
55ca8b:	3b f9                	cmp    %ecx,%edi
55ca8d:	75 1d                	jne    0x55caac
55ca8f:	8d 43 24             	lea    0x24(%ebx),%eax