55c586:	85 c0                	test   %eax,%eax
55c588:	0f 85 21 01 00 00    	jne    0x55c6af
55c58e:	8b c7                	mov    %edi,%eax
55c590:	99                   	cltd
55c591:	8b d8                	mov    %eax,%ebx
55c593:	0b c2                	or     %edx,%eax
55c595:	74 76                	je     0x55c60d
55c597:	85 d2                	test   %edx,%edx
55c599:	77 72                	ja     0x55c60d
55c59b:	72 08                	jb     0x55c5a5
55c59d:	81 fb 00 ff ff 7f    	cmp    $0x7fffff00,%ebx
55c5a3:	73 68                	jae    0x55c60d
55c5a5:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
55c5ac:	74 3a                	je     0x55c5e8
55c5ae:	a1 90 ff 72 00       	mov    0x72ff90,%eax
55c5b3:	85 c0                	test   %eax,%eax
55c5b5:	74 0a                	je     0x55c5c1
55c5b7:	50                   	push   %eax
55c5b8:	ff 15 60 18 72 00    	call   *0x721860
55c5be:	83 c4 04             	add    $0x4,%esp
55c5c1:	8d 45 f8             	lea    -0x8(%ebp),%eax
55c5c4:	50                   	push   %eax
55c5c5:	53                   	push   %ebx
55c5c6:	e8 35 cd fa ff       	call   0x509300
55c5cb:	a1 90 ff 72 00       	mov    0x72ff90,%eax
55c5d0:	83 c4 08             	add    $0x8,%esp
55c5d3:	85 c0                	test   %eax,%eax
55c5d5:	74 0c                	je     0x55c5e3
55c5d7:	50                   	push   %eax
55c5d8:	ff 15 68 18 72 00    	call   *0x721868
55c5de:	8b 7d f8             	mov    -0x8(%ebp),%edi
55c5e1:	eb 11                	jmp    0x55c5f4
55c5e3:	8b 7d f8             	mov    -0x8(%ebp),%edi
55c5e6:	eb 0f                	jmp    0x55c5f7
55c5e8:	53                   	push   %ebx
55c5e9:	ff 15 30 18 72 00    	call   *0x721830
55c5ef:	8b f8                	mov    %eax,%edi
55c5f1:	89 7d f8             	mov    %edi,-0x8(%ebp)
55c5f4:	83 c4 04             	add    $0x4,%esp
55c5f7:	85 ff                	test   %edi,%edi
55c5f9:	0f 84 ad 00 00 00    	je     0x55c6ac
55c5ff:	53                   	push   %ebx
55c600:	6a 00                	push   $0x0
55c602:	57                   	push   %edi
55c603:	e8 f8 73 08 00       	call   0x5e3a00
55c608:	83 c4 0c             	add    $0xc,%esp
55c60b:	eb 05                	jmp    0x55c612
55c60d:	33 ff                	xor    %edi,%edi
55c60f:	89 7d f8             	mov    %edi,-0x8(%ebp)
55c612:	85 ff                	test   %edi,%edi
55c614:	0f 84 92 00 00 00    	je     0x55c6ac
55c61a:	ff 75 f4             	push   -0xc(%ebp)
55c61d:	8d 04 f5 00 00 00 00 	lea    0x0(,%esi,8),%eax
55c624:	89 37                	mov    %esi,(%edi)
55c626:	2b c6                	sub    %esi,%eax
55c628:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
55c62f:	8d 4f 10             	lea    0x10(%edi),%ecx
55c632:	57                   	push   %edi
55c633:	ff 75 08             	push   0x8(%ebp)
55c636:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
55c639:	89 4f 0c             	mov    %ecx,0xc(%edi)
55c63c:	89 47 08             	mov    %eax,0x8(%edi)
55c63f:	e8 3c e3 ff ff       	call   0x55a980
55c644:	8b 5d fc             	mov    -0x4(%ebp),%ebx
55c647:	8b f0                	mov    %eax,%esi
55c649:	83 c4 0c             	add    $0xc,%esp
55c64c:	85 f6                	test   %esi,%esi
55c64e:	75 1a                	jne    0x55c66a
55c650:	8b 45 f4             	mov    -0xc(%ebp),%eax
55c653:	8b 08                	mov    (%eax),%ecx
55c655:	8b 41 04             	mov    0x4(%ecx),%eax
55c658:	89 45 14             	mov    %eax,0x14(%ebp)
55c65b:	8b c3                	mov    %ebx,%eax
55c65d:	99                   	cltd
55c65e:	83 e2 0f             	and    $0xf,%edx
55c661:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
55c664:	c1 fb 04             	sar    $0x4,%ebx
55c667:	89 5d fc             	mov    %ebx,-0x4(%ebp)
55c66a:	8b 45 f0             	mov    -0x10(%ebp),%eax
55c66d:	40                   	inc    %eax
55c66e:	89 45 f0             	mov    %eax,-0x10(%ebp)
55c671:	3b 45 0c             	cmp    0xc(%ebp),%eax
55c674:	0f 8c a6 fe ff ff    	jl     0x55c520
55c67a:	85 f6                	test   %esi,%esi
55c67c:	75 38                	jne    0x55c6b6
55c67e:	8b 45 10             	mov    0x10(%ebp),%eax
55c681:	25 0f 00 00 80       	and    $0x8000000f,%eax
55c686:	79 05                	jns    0x55c68d
55c688:	48                   	dec    %eax
55c689:	83 c8 f0             	or     $0xfffffff0,%eax
55c68c:	40                   	inc    %eax
55c68d:	8d 14 c5 00 00 00 00 	lea    0x0(,%eax,8),%edx
55c694:	2b d0                	sub    %eax,%edx
55c696:	8b 45 14             	mov    0x14(%ebp),%eax
55c699:	5f                   	pop    %edi
55c69a:	8b 48 0c             	mov    0xc(%eax),%ecx
55c69d:	8b 45 ec             	mov    -0x14(%ebp),%eax
55c6a0:	89 44 d1 30          	mov    %eax,0x30(%ecx,%edx,8)
55c6a4:	8b c6                	mov    %esi,%eax
55c6a6:	5e                   	pop    %esi
55c6a7:	5b                   	pop    %ebx
55c6a8:	8b e5                	mov    %ebp,%esp
55c6aa:	5d                   	pop    %ebp
55c6ab:	c3                   	ret
55c6ac:	8b 5d fc             	mov    -0x4(%ebp),%ebx
55c6af:	be 07 00 00 00       	mov    $0x7,%esi
55c6b4:	eb b4                	jmp    0x55c66a
55c6b6:	ff 75 ec             	push   -0x14(%ebp)
55c6b9:	e8 22 e2 ff ff       	call   0x55a8e0
55c6be:	83 c4 04             	add    $0x4,%esp
55c6c1:	8b c6                	mov    %esi,%eax
55c6c3:	5f                   	pop    %edi
55c6c4:	5e                   	pop    %esi
55c6c5:	5b                   	pop    %ebx
55c6c6:	8b e5                	mov    %ebp,%esp
55c6c8:	5d                   	pop    %ebp
55c6c9:	c3                   	ret
55c6ca:	cc                   	int3
55c6cb:	cc                   	int3
55c6cc:	cc                   	int3
55c6cd:	cc                   	int3
55c6ce:	cc                   	int3
55c6cf:	cc                   	int3
55c6d0:	55                   	push   %ebp
55c6d1:	8b ec                	mov    %esp,%ebp
55c6d3:	8b 45 08             	mov    0x8(%ebp),%eax
55c6d6:	56                   	push   %esi
55c6d7:	8b 75 0c             	mov    0xc(%ebp),%esi
55c6da:	57                   	push   %edi
55c6db:	8b 78 0c             	mov    0xc(%eax),%edi
55c6de:	83 3e 00             	cmpl   $0x0,(%esi)
55c6e1:	75 1b                	jne    0x55c6fe
55c6e3:	8b 40 08             	mov    0x8(%eax),%eax
55c6e6:	57                   	push   %edi
55c6e7:	ff 75 18             	push   0x18(%ebp)
55c6ea:	ff 75 1c             	push   0x1c(%ebp)
55c6ed:	ff 70 1c             	push   0x1c(%eax)
55c6f0:	e8 cb 03 ff ff       	call   0x54cac0
55c6f5:	83 c4 10             	add    $0x10,%esp
55c6f8:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
55c6fe:	6a 00                	push   $0x0
55c700:	57                   	push   %edi
55c701:	ff 75 10             	push   0x10(%ebp)
55c704:	ff 75 14             	push   0x14(%ebp)
55c707:	e8 34 fe fe ff       	call   0x54c540
55c70c:	83 c4 10             	add    $0x10,%esp
55c70f:	5f                   	pop    %edi
55c710:	5e                   	pop    %esi
55c711:	5d                   	pop    %ebp
55c712:	c3                   	ret
55c713:	cc                   	int3
55c714:	cc                   	int3
55c715:	cc                   	int3
55c716:	cc                   	int3
55c717:	cc                   	int3
55c718:	cc                   	int3
55c719:	cc                   	int3
55c71a:	cc                   	int3
55c71b:	cc                   	int3
55c71c:	cc                   	int3
55c71d:	cc                   	int3
55c71e:	cc                   	int3
55c71f:	cc                   	int3
55c720:	55                   	push   %ebp
55c721:	8b ec                	mov    %esp,%ebp
55c723:	83 ec 08             	sub    $0x8,%esp
55c726:	8b 55 18             	mov    0x18(%ebp),%edx
55c729:	53                   	push   %ebx
55c72a:	56                   	push   %esi
55c72b:	8b 75 10             	mov    0x10(%ebp),%esi
55c72e:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
55c732:	57                   	push   %edi
55c733:	0f b6 3a             	movzbl (%edx),%edi
55c736:	0f b6 1e             	movzbl (%esi),%ebx
55c739:	03 fa                	add    %edx,%edi
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