51e5b6:	8b 4d 00             	mov    0x0(%ebp),%ecx
51e5b9:	eb 02                	jmp    0x51e5bd
51e5bb:	8b cd                	mov    %ebp,%ecx
51e5bd:	3b df                	cmp    %edi,%ebx
51e5bf:	8b c7                	mov    %edi,%eax
51e5c1:	0f 42 c3             	cmovb  %ebx,%eax
51e5c4:	50                   	push   %eax
51e5c5:	52                   	push   %edx
51e5c6:	51                   	push   %ecx
51e5c7:	e8 31 3e f1 ff       	call   0x4323fd
51e5cc:	83 c4 0c             	add    $0xc,%esp
51e5cf:	85 c0                	test   %eax,%eax
51e5d1:	75 0d                	jne    0x51e5e0
51e5d3:	3b fb                	cmp    %ebx,%edi
51e5d5:	76 05                	jbe    0x51e5dc
51e5d7:	83 c8 ff             	or     $0xffffffff,%eax
51e5da:	eb 04                	jmp    0x51e5e0
51e5dc:	1b c0                	sbb    %eax,%eax
51e5de:	f7 d8                	neg    %eax
51e5e0:	c1 e8 1f             	shr    $0x1f,%eax
51e5e3:	84 c0                	test   %al,%al
51e5e5:	0f 85 6c 01 00 00    	jne    0x51e757
51e5eb:	83 fe 10             	cmp    $0x10,%esi
51e5ee:	72 08                	jb     0x51e5f8
51e5f0:	8b 44 24 10          	mov    0x10(%esp),%eax
51e5f4:	8b 10                	mov    (%eax),%edx
51e5f6:	eb 04                	jmp    0x51e5fc
51e5f8:	8b 54 24 10          	mov    0x10(%esp),%edx
51e5fc:	b9 07 00 00 00       	mov    $0x7,%ecx
51e601:	3b f9                	cmp    %ecx,%edi
51e603:	0f 42 cf             	cmovb  %edi,%ecx
51e606:	85 c9                	test   %ecx,%ecx
51e608:	74 5a                	je     0x51e664
51e60a:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51e60f:	83 e9 04             	sub    $0x4,%ecx
51e612:	72 11                	jb     0x51e625
51e614:	8b 02                	mov    (%edx),%eax
51e616:	3b 06                	cmp    (%esi),%eax
51e618:	75 10                	jne    0x51e62a
51e61a:	83 c2 04             	add    $0x4,%edx
51e61d:	83 c6 04             	add    $0x4,%esi
51e620:	83 e9 04             	sub    $0x4,%ecx
51e623:	73 ef                	jae    0x51e614
51e625:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51e628:	74 34                	je     0x51e65e
51e62a:	8a 02                	mov    (%edx),%al
51e62c:	3a 06                	cmp    (%esi),%al
51e62e:	75 27                	jne    0x51e657
51e630:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51e633:	74 29                	je     0x51e65e
51e635:	8a 42 01             	mov    0x1(%edx),%al
51e638:	3a 46 01             	cmp    0x1(%esi),%al
51e63b:	75 1a                	jne    0x51e657
51e63d:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51e640:	74 1c                	je     0x51e65e
51e642:	8a 42 02             	mov    0x2(%edx),%al
51e645:	3a 46 02             	cmp    0x2(%esi),%al
51e648:	75 0d                	jne    0x51e657
51e64a:	83 f9 ff             	cmp    $0xffffffff,%ecx
51e64d:	74 0f                	je     0x51e65e
51e64f:	8a 42 03             	mov    0x3(%edx),%al
51e652:	3a 46 03             	cmp    0x3(%esi),%al
51e655:	74 07                	je     0x51e65e
51e657:	1b c0                	sbb    %eax,%eax
51e659:	83 c8 01             	or     $0x1,%eax
51e65c:	eb 02                	jmp    0x51e660
51e65e:	33 c0                	xor    %eax,%eax
51e660:	85 c0                	test   %eax,%eax
51e662:	75 0b                	jne    0x51e66f
51e664:	83 ff 07             	cmp    $0x7,%edi
51e667:	72 06                	jb     0x51e66f
51e669:	0f 86 e8 00 00 00    	jbe    0x51e757
51e66f:	83 7d 14 10          	cmpl   $0x10,0x14(%ebp)
51e673:	72 05                	jb     0x51e67a
51e675:	8b 55 00             	mov    0x0(%ebp),%edx
51e678:	eb 02                	jmp    0x51e67c
51e67a:	8b d5                	mov    %ebp,%edx
51e67c:	b9 07 00 00 00       	mov    $0x7,%ecx
51e681:	3b d9                	cmp    %ecx,%ebx
51e683:	0f 42 cb             	cmovb  %ebx,%ecx
51e686:	85 c9                	test   %ecx,%ecx
51e688:	74 5a                	je     0x51e6e4
51e68a:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51e68f:	83 e9 04             	sub    $0x4,%ecx
51e692:	72 11                	jb     0x51e6a5
51e694:	8b 02                	mov    (%edx),%eax
51e696:	3b 06                	cmp    (%esi),%eax
51e698:	75 10                	jne    0x51e6aa
51e69a:	83 c2 04             	add    $0x4,%edx
51e69d:	83 c6 04             	add    $0x4,%esi
51e6a0:	83 e9 04             	sub    $0x4,%ecx
51e6a3:	73 ef                	jae    0x51e694
51e6a5:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51e6a8:	74 34                	je     0x51e6de
51e6aa:	8a 02                	mov    (%edx),%al
51e6ac:	3a 06                	cmp    (%esi),%al
51e6ae:	75 27                	jne    0x51e6d7
51e6b0:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51e6b3:	74 29                	je     0x51e6de
51e6b5:	8a 42 01             	mov    0x1(%edx),%al
51e6b8:	3a 46 01             	cmp    0x1(%esi),%al
51e6bb:	75 1a                	jne    0x51e6d7
51e6bd:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51e6c0:	74 1c                	je     0x51e6de
51e6c2:	8a 42 02             	mov    0x2(%edx),%al
51e6c5:	3a 46 02             	cmp    0x2(%esi),%al
51e6c8:	75 0d                	jne    0x51e6d7
51e6ca:	83 f9 ff             	cmp    $0xffffffff,%ecx
51e6cd:	74 0f                	je     0x51e6de
51e6cf:	8a 42 03             	mov    0x3(%edx),%al
51e6d2:	3a 46 03             	cmp    0x3(%esi),%al
51e6d5:	74 07                	je     0x51e6de
51e6d7:	1b c0                	sbb    %eax,%eax
51e6d9:	83 c8 01             	or     $0x1,%eax
51e6dc:	eb 02                	jmp    0x51e6e0
51e6de:	33 c0                	xor    %eax,%eax
51e6e0:	85 c0                	test   %eax,%eax
51e6e2:	75 07                	jne    0x51e6eb
51e6e4:	83 fb 07             	cmp    $0x7,%ebx
51e6e7:	72 02                	jb     0x51e6eb
51e6e9:	76 4c                	jbe    0x51e737
51e6eb:	83 7d 14 10          	cmpl   $0x10,0x14(%ebp)
51e6ef:	72 05                	jb     0x51e6f6
51e6f1:	8b 55 00             	mov    0x0(%ebp),%edx
51e6f4:	eb 02                	jmp    0x51e6f8
51e6f6:	8b d5                	mov    %ebp,%edx
51e6f8:	83 bd c0 01 00 00 10 	cmpl   $0x10,0x1c0(%ebp)
51e6ff:	72 08                	jb     0x51e709
51e701:	8b 44 24 10          	mov    0x10(%esp),%eax
51e705:	8b 08                	mov    (%eax),%ecx
51e707:	eb 04                	jmp    0x51e70d
51e709:	8b 4c 24 10          	mov    0x10(%esp),%ecx
51e70d:	3b fb                	cmp    %ebx,%edi
51e70f:	8b c3                	mov    %ebx,%eax
51e711:	0f 42 c7             	cmovb  %edi,%eax
51e714:	50                   	push   %eax
51e715:	52                   	push   %edx
51e716:	51                   	push   %ecx
51e717:	e8 e1 3c f1 ff       	call   0x4323fd
51e71c:	83 c4 0c             	add    $0xc,%esp
51e71f:	85 c0                	test   %eax,%eax
51e721:	75 0d                	jne    0x51e730
51e723:	3b df                	cmp    %edi,%ebx
51e725:	76 05                	jbe    0x51e72c
51e727:	83 c8 ff             	or     $0xffffffff,%eax
51e72a:	eb 04                	jmp    0x51e730
51e72c:	1b c0                	sbb    %eax,%eax
51e72e:	f7 d8                	neg    %eax
51e730:	c1 e8 1f             	shr    $0x1f,%eax
51e733:	84 c0                	test   %al,%al
51e735:	75 20                	jne    0x51e757
51e737:	8b 5c 24 10          	mov    0x10(%esp),%ebx
51e73b:	81 ed ac 01 00 00    	sub    $0x1ac,%ebp
51e741:	81 eb ac 01 00 00    	sub    $0x1ac,%ebx
51e747:	89 5c 24 10          	mov    %ebx,0x10(%esp)
51e74b:	39 5c 24 2c          	cmp    %ebx,0x2c(%esp)
51e74f:	0f 82 3b fd ff ff    	jb     0x51e490
51e755:	eb 04                	jmp    0x51e75b
51e757:	8b 5c 24 10          	mov    0x10(%esp),%ebx
51e75b:	8b 7c 24 14          	mov    0x14(%esp),%edi
51e75f:	8b 74 24 30          	mov    0x30(%esp),%esi
51e763:	3b fe                	cmp    %esi,%edi
51e765:	0f 83 5c 01 00 00    	jae    0x51e8c7
51e76b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
51e770:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
51e774:	72 04                	jb     0x51e77a
51e776:	8b 17                	mov    (%edi),%edx
51e778:	eb 02                	jmp    0x51e77c
51e77a:	8b d7                	mov    %edi,%edx
51e77c:	8b 7f 10             	mov    0x10(%edi),%edi
51e77f:	b9 07 00 00 00       	mov    $0x7,%ecx
51e784:	3b f9                	cmp    %ecx,%edi
51e786:	0f 42 cf             	cmovb  %edi,%ecx
51e789:	85 c9                	test   %ecx,%ecx
51e78b:	74 5a                	je     0x51e7e7
51e78d:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51e792:	83 e9 04             	sub    $0x4,%ecx
51e795:	72 11                	jb     0x51e7a8
51e797:	8b 02                	mov    (%edx),%eax
51e799:	3b 06                	cmp    (%esi),%eax
51e79b:	75 10                	jne    0x51e7ad
51e79d:	83 c2 04             	add    $0x4,%edx
51e7a0:	83 c6 04             	add    $0x4,%esi
51e7a3:	83 e9 04             	sub    $0x4,%ecx
51e7a6:	73 ef                	jae    0x51e797
51e7a8:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51e7ab:	74 34                	je     0x51e7e1
51e7ad:	8a 02                	mov    (%edx),%al
51e7af:	3a 06                	cmp    (%esi),%al
51e7b1:	75 27                	jne    0x51e7da
51e7b3:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51e7b6:	74 29                	je     0x51e7e1
51e7b8:	8a 42 01             	mov    0x1(%edx),%al
51e7bb:	3a 46 01             	cmp    0x1(%esi),%al
51e7be:	75 1a                	jne    0x51e7da
51e7c0:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51e7c3:	74 1c                	je     0x51e7e1
51e7c5:	8a 42 02             	mov    0x2(%edx),%al
51e7c8:	3a 46 02             	cmp    0x2(%esi),%al
51e7cb:	75 0d                	jne    0x51e7da
51e7cd:	83 f9 ff             	cmp    $0xffffffff,%ecx
51e7d0:	74 0f                	je     0x51e7e1
51e7d2:	8a 42 03             	mov    0x3(%edx),%al
51e7d5:	3a 46 03             	cmp    0x3(%esi),%al
51e7d8:	74 07                	je     0x51e7e1
51e7da:	1b c0                	sbb    %eax,%eax
51e7dc:	83 c8 01             	or     $0x1,%eax
51e7df:	eb 02                	jmp    0x51e7e3
51e7e1:	33 c0                	xor    %eax,%eax
51e7e3:	85 c0                	test   %eax,%eax
51e7e5:	75 0b                	jne    0x51e7f2
51e7e7:	83 ff 07             	cmp    $0x7,%edi
51e7ea:	72 06                	jb     0x51e7f2
51e7ec:	0f 86 cd 00 00 00    	jbe    0x51e8bf
51e7f2:	8b 6b 14             	mov    0x14(%ebx),%ebp
51e7f5:	83 fd 10             	cmp    $0x10,%ebp
51e7f8:	72 04                	jb     0x51e7fe
51e7fa:	8b 13                	mov    (%ebx),%edx
51e7fc:	eb 02                	jmp    0x51e800
51e7fe:	8b d3                	mov    %ebx,%edx
51e800:	8b 5b 10             	mov    0x10(%ebx),%ebx
51e803:	b9 07 00 00 00       	mov    $0x7,%ecx
51e808:	3b d9                	cmp    %ecx,%ebx
51e80a:	0f 42 cb             	cmovb  %ebx,%ecx
51e80d:	85 c9                	test   %ecx,%ecx
51e80f:	74 5f                	je     0x51e870
51e811:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51e816:	83 e9 04             	sub    $0x4,%ecx
51e819:	72 16                	jb     0x51e831
51e81b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
51e820:	8b 02                	mov    (%edx),%eax
51e822:	3b 06                	cmp    (%esi),%eax
51e824:	75 10                	jne    0x51e836
51e826:	83 c2 04             	add    $0x4,%edx
51e829:	83 c6 04             	add    $0x4,%esi
51e82c:	83 e9 04             	sub    $0x4,%ecx
51e82f:	73 ef                	jae    0x51e820
51e831:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51e834:	74 34                	je     0x51e86a
51e836:	8a 02                	mov    (%edx),%al
51e838:	3a 06                	cmp    (%esi),%al
51e83a:	75 27                	jne    0x51e863
51e83c:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51e83f:	74 29                	je     0x51e86a
51e841:	8a 42 01             	mov    0x1(%edx),%al
51e844:	3a 46 01             	cmp    0x1(%esi),%al
51e847:	75 1a                	jne    0x51e863
51e849:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51e84c:	74 1c                	je     0x51e86a
51e84e:	8a 42 02             	mov    0x2(%edx),%al
51e851:	3a 46 02             	cmp    0x2(%esi),%al
51e854:	75 0d                	jne    0x51e863
51e856:	83 f9 ff             	cmp    $0xffffffff,%ecx
51e859:	74 0f                	je     0x51e86a
51e85b:	8a 42 03             	mov    0x3(%edx),%al
51e85e:	3a 46 03             	cmp    0x3(%esi),%al
51e861:	74 07                	je     0x51e86a
51e863:	1b c0                	sbb    %eax,%eax
51e865:	83 c8 01             	or     $0x1,%eax
51e868:	eb 02                	jmp    0x51e86c
51e86a:	33 c0                	xor    %eax,%eax
51e86c:	85 c0                	test   %eax,%eax
51e86e:	75 07                	jne    0x51e877
51e870:	83 fb 07             	cmp    $0x7,%ebx
51e873:	72 02                	jb     0x51e877
51e875:	76 7b                	jbe    0x51e8f2
51e877:	8b 5c 24 10          	mov    0x10(%esp),%ebx
51e87b:	83 fd 10             	cmp    $0x10,%ebp
51e87e:	72 04                	jb     0x51e884
51e880:	8b 13                	mov    (%ebx),%edx
51e882:	eb 02                	jmp    0x51e886
51e884:	8b d3                	mov    %ebx,%edx
51e886:	8b 4c 24 14          	mov    0x14(%esp),%ecx
51e88a:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
51e88e:	72 02                	jb     0x51e892
51e890:	8b 09                	mov    (%ecx),%ecx
51e892:	8b 73 10             	mov    0x10(%ebx),%esi
51e895:	3b fe                	cmp    %esi,%edi
51e897:	8b c6                	mov    %esi,%eax
51e899:	0f 42 c7             	cmovb  %edi,%eax
51e89c:	50                   	push   %eax
51e89d:	52                   	push   %edx
51e89e:	51                   	push   %ecx
51e89f:	e8 59 3b f1 ff       	call   0x4323fd
51e8a4:	83 c4 0c             	add    $0xc,%esp
51e8a7:	85 c0                	test   %eax,%eax
51e8a9:	75 0d                	jne    0x51e8b8
51e8ab:	3b f7                	cmp    %edi,%esi
51e8ad:	76 05                	jbe    0x51e8b4
51e8af:	83 c8 ff             	or     $0xffffffff,%eax
51e8b2:	eb 04                	jmp    0x51e8b8
51e8b4:	1b c0                	sbb    %eax,%eax
51e8b6:	f7 d8                	neg    %eax
51e8b8:	c1 e8 1f             	shr    $0x1f,%eax
51e8bb:	84 c0                	test   %al,%al
51e8bd:	74 37                	je     0x51e8f6
51e8bf:	8b 7c 24 14          	mov    0x14(%esp),%edi
51e8c3:	8b 74 24 30          	mov    0x30(%esp),%esi
51e8c7:	8b 6c 24 10          	mov    0x10(%esp),%ebp
51e8cb:	8b df                	mov    %edi,%ebx
51e8cd:	8b c5                	mov    %ebp,%eax
51e8cf:	89 44 24 1c          	mov    %eax,0x1c(%esp)
51e8d3:	89 5c 24 18          	mov    %ebx,0x18(%esp)
51e8d7:	3b de                	cmp    %esi,%ebx
51e8d9:	0f 83 1d 05 00 00    	jae    0x51edfc
51e8df:	90                   	nop
51e8e0:	83 7d 14 10          	cmpl   $0x10,0x14(%ebp)
51e8e4:	0f 82 86 01 00 00    	jb     0x51ea70
51e8ea:	8b 55 00             	mov    0x0(%ebp),%edx
51e8ed:	e9 80 01 00 00       	jmp    0x51ea72
51e8f2:	8b 5c 24 10          	mov    0x10(%esp),%ebx
51e8f6:	83 fd 10             	cmp    $0x10,%ebp
51e8f9:	72 04                	jb     0x51e8ff
51e8fb:	8b 13                	mov    (%ebx),%edx
51e8fd:	eb 02                	jmp    0x51e901
51e8ff:	8b d3                	mov    %ebx,%edx
51e901:	8b 5b 10             	mov    0x10(%ebx),%ebx
51e904:	b9 07 00 00 00       	mov    $0x7,%ecx
51e909:	3b d9                	cmp    %ecx,%ebx
51e90b:	0f 42 cb             	cmovb  %ebx,%ecx
51e90e:	85 c9                	test   %ecx,%ecx
51e910:	74 5e                	je     0x51e970
51e912:	be dc d1 bd 00       	mov    $0xbdd1dc,%esi
51e917:	83 e9 04             	sub    $0x4,%ecx
51e91a:	72 15                	jb     0x51e931
51e91c:	0f 1f 40 00          	nopl   0x0(%eax)
51e920:	8b 02                	mov    (%edx),%eax
51e922:	3b 06                	cmp    (%esi),%eax
51e924:	75 10                	jne    0x51e936
51e926:	83 c2 04             	add    $0x4,%edx
51e929:	83 c6 04             	add    $0x4,%esi
51e92c:	83 e9 04             	sub    $0x4,%ecx
51e92f:	73 ef                	jae    0x51e920
51e931:	83 f9 fc             	cmp    $0xfffffffc,%ecx
51e934:	74 34                	je     0x51e96a
51e936:	8a 02                	mov    (%edx),%al
51e938:	3a 06                	cmp    (%esi),%al
51e93a:	75 27                	jne    0x51e963
51e93c:	83 f9 fd             	cmp    $0xfffffffd,%ecx
51e93f:	74 29                	je     0x51e96a
51e941:	8a 42 01             	mov    0x1(%edx),%al
51e944:	3a 46 01             	cmp    0x1(%esi),%al
51e947:	75 1a                	jne    0x51e963
51e949:	83 f9 fe             	cmp    $0xfffffffe,%ecx
51e94c:	74 1c                	je     0x51e96a
51e94e:	8a 42 02             	mov    0x2(%edx),%al
51e951:	3a 46 02             	cmp    0x2(%esi),%al
51e954:	75 0d                	jne    0x51e963
51e956:	83 f9 ff             	cmp    $0xffffffff,%ecx
51e959:	74 0f                	je     0x51e96a