51c85b:	cc                   	int3
51c85c:	cc                   	int3
51c85d:	cc                   	int3
51c85e:	cc                   	int3
51c85f:	cc                   	int3
51c860:	56                   	push   %esi
51c861:	8b 74 24 08          	mov    0x8(%esp),%esi
51c865:	57                   	push   %edi
51c866:	8b 7c 24 10          	mov    0x10(%esp),%edi
51c86a:	3b f7                	cmp    %edi,%esi
51c86c:	74 13                	je     0x51c881
51c86e:	66 90                	xchg   %ax,%ax
51c870:	8b ce                	mov    %esi,%ecx
51c872:	e8 7c 9c f1 ff       	call   0x4364f3
51c877:	81 c6 c4 00 00 00    	add    $0xc4,%esi
51c87d:	3b f7                	cmp    %edi,%esi
51c87f:	75 ef                	jne    0x51c870
51c881:	5f                   	pop    %edi
51c882:	5e                   	pop    %esi
51c883:	c2 08 00             	ret    $0x8
51c886:	cc                   	int3
51c887:	cc                   	int3
51c888:	cc                   	int3
51c889:	cc                   	int3
51c88a:	cc                   	int3
51c88b:	cc                   	int3
51c88c:	cc                   	int3
51c88d:	cc                   	int3
51c88e:	cc                   	int3
51c88f:	cc                   	int3
51c890:	8b 01                	mov    (%ecx),%eax
51c892:	c3                   	ret
51c893:	cc                   	int3
51c894:	cc                   	int3
51c895:	cc                   	int3
51c896:	cc                   	int3
51c897:	cc                   	int3
51c898:	cc                   	int3
51c899:	cc                   	int3
51c89a:	cc                   	int3
51c89b:	cc                   	int3
51c89c:	cc                   	int3
51c89d:	cc                   	int3
51c89e:	cc                   	int3
51c89f:	cc                   	int3
51c8a0:	8b c1                	mov    %ecx,%eax
51c8a2:	c3                   	ret
51c8a3:	cc                   	int3
51c8a4:	cc                   	int3
51c8a5:	cc                   	int3
51c8a6:	cc                   	int3
51c8a7:	cc                   	int3
51c8a8:	cc                   	int3
51c8a9:	cc                   	int3
51c8aa:	cc                   	int3
51c8ab:	cc                   	int3
51c8ac:	cc                   	int3
51c8ad:	cc                   	int3
51c8ae:	cc                   	int3
51c8af:	cc                   	int3
51c8b0:	8b c1                	mov    %ecx,%eax
51c8b2:	c3                   	ret
51c8b3:	cc                   	int3
51c8b4:	cc                   	int3
51c8b5:	cc                   	int3
51c8b6:	cc                   	int3
51c8b7:	cc                   	int3
51c8b8:	cc                   	int3
51c8b9:	cc                   	int3
51c8ba:	cc                   	int3
51c8bb:	cc                   	int3
51c8bc:	cc                   	int3
51c8bd:	cc                   	int3
51c8be:	cc                   	int3
51c8bf:	cc                   	int3
51c8c0:	8b c1                	mov    %ecx,%eax
51c8c2:	c3                   	ret
51c8c3:	cc                   	int3
51c8c4:	cc                   	int3
51c8c5:	cc                   	int3
51c8c6:	cc                   	int3
51c8c7:	cc                   	int3
51c8c8:	cc                   	int3
51c8c9:	cc                   	int3
51c8ca:	cc                   	int3
51c8cb:	cc                   	int3
51c8cc:	cc                   	int3
51c8cd:	cc                   	int3
51c8ce:	cc                   	int3
51c8cf:	cc                   	int3
51c8d0:	8b c1                	mov    %ecx,%eax
51c8d2:	c3                   	ret
51c8d3:	cc                   	int3
51c8d4:	cc                   	int3
51c8d5:	cc                   	int3
51c8d6:	cc                   	int3
51c8d7:	cc                   	int3
51c8d8:	cc                   	int3
51c8d9:	cc                   	int3
51c8da:	cc                   	int3
51c8db:	cc                   	int3
51c8dc:	cc                   	int3
51c8dd:	cc                   	int3
51c8de:	cc                   	int3
51c8df:	cc                   	int3
51c8e0:	8b c1                	mov    %ecx,%eax
51c8e2:	c3                   	ret
51c8e3:	cc                   	int3
51c8e4:	cc                   	int3
51c8e5:	cc                   	int3
51c8e6:	cc                   	int3
51c8e7:	cc                   	int3
51c8e8:	cc                   	int3
51c8e9:	cc                   	int3
51c8ea:	cc                   	int3
51c8eb:	cc                   	int3
51c8ec:	cc                   	int3
51c8ed:	cc                   	int3
51c8ee:	cc                   	int3
51c8ef:	cc                   	int3
51c8f0:	8b c1                	mov    %ecx,%eax
51c8f2:	c3                   	ret
51c8f3:	cc                   	int3
51c8f4:	cc                   	int3
51c8f5:	cc                   	int3
51c8f6:	cc                   	int3
51c8f7:	cc                   	int3
51c8f8:	cc                   	int3
51c8f9:	cc                   	int3
51c8fa:	cc                   	int3
51c8fb:	cc                   	int3
51c8fc:	cc                   	int3
51c8fd:	cc                   	int3
51c8fe:	cc                   	int3
51c8ff:	cc                   	int3
51c900:	8b c1                	mov    %ecx,%eax
51c902:	c3                   	ret
51c903:	cc                   	int3
51c904:	cc                   	int3
51c905:	cc                   	int3
51c906:	cc                   	int3
51c907:	cc                   	int3
51c908:	cc                   	int3
51c909:	cc                   	int3
51c90a:	cc                   	int3
51c90b:	cc                   	int3
51c90c:	cc                   	int3
51c90d:	cc                   	int3
51c90e:	cc                   	int3
51c90f:	cc                   	int3
51c910:	8b c1                	mov    %ecx,%eax
51c912:	c3                   	ret
51c913:	cc                   	int3
51c914:	cc                   	int3
51c915:	cc                   	int3
51c916:	cc                   	int3
51c917:	cc                   	int3
51c918:	cc                   	int3
51c919:	cc                   	int3
51c91a:	cc                   	int3
51c91b:	cc                   	int3
51c91c:	cc                   	int3
51c91d:	cc                   	int3
51c91e:	cc                   	int3
51c91f:	cc                   	int3
51c920:	8b c1                	mov    %ecx,%eax
51c922:	c3                   	ret
51c923:	cc                   	int3
51c924:	cc                   	int3
51c925:	cc                   	int3
51c926:	cc                   	int3
51c927:	cc                   	int3
51c928:	cc                   	int3
51c929:	cc                   	int3
51c92a:	cc                   	int3
51c92b:	cc                   	int3
51c92c:	cc                   	int3
51c92d:	cc                   	int3
51c92e:	cc                   	int3
51c92f:	cc                   	int3
51c930:	8b c1                	mov    %ecx,%eax
51c932:	c3                   	ret
51c933:	cc                   	int3
51c934:	cc                   	int3
51c935:	cc                   	int3
51c936:	cc                   	int3
51c937:	cc                   	int3
51c938:	cc                   	int3
51c939:	cc                   	int3
51c93a:	cc                   	int3
51c93b:	cc                   	int3
51c93c:	cc                   	int3
51c93d:	cc                   	int3
51c93e:	cc                   	int3
51c93f:	cc                   	int3
51c940:	8b c1                	mov    %ecx,%eax
51c942:	c3                   	ret
51c943:	cc                   	int3
51c944:	cc                   	int3
51c945:	cc                   	int3
51c946:	cc                   	int3
51c947:	cc                   	int3
51c948:	cc                   	int3
51c949:	cc                   	int3
51c94a:	cc                   	int3
51c94b:	cc                   	int3
51c94c:	cc                   	int3
51c94d:	cc                   	int3
51c94e:	cc                   	int3
51c94f:	cc                   	int3
51c950:	8b c1                	mov    %ecx,%eax
51c952:	c3                   	ret
51c953:	cc                   	int3
51c954:	cc                   	int3
51c955:	cc                   	int3
51c956:	cc                   	int3
51c957:	cc                   	int3
51c958:	cc                   	int3
51c959:	cc                   	int3
51c95a:	cc                   	int3
51c95b:	cc                   	int3
51c95c:	cc                   	int3
51c95d:	cc                   	int3
51c95e:	cc                   	int3
51c95f:	cc                   	int3
51c960:	8b 51 08             	mov    0x8(%ecx),%edx
51c963:	b8 9d 82 97 53       	mov    $0x5397829d,%eax
51c968:	2b 11                	sub    (%ecx),%edx
51c96a:	f7 ea                	imul   %edx
51c96c:	56                   	push   %esi
51c96d:	c1 fa 06             	sar    $0x6,%edx
51c970:	8b f2                	mov    %edx,%esi
51c972:	c1 ee 1f             	shr    $0x1f,%esi
51c975:	03 f2                	add    %edx,%esi
51c977:	ba 0a 5e 4e 01       	mov    $0x14e5e0a,%edx
51c97c:	8b c6                	mov    %esi,%eax
51c97e:	d1 e8                	shr    $1,%eax
51c980:	2b d0                	sub    %eax,%edx
51c982:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
51c985:	33 c0                	xor    %eax,%eax
51c987:	3b d6                	cmp    %esi,%edx
51c989:	5e                   	pop    %esi
51c98a:	0f 43 c1             	cmovae %ecx,%eax
51c98d:	3b 44 24 04          	cmp    0x4(%esp),%eax
51c991:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
51c996:	c2 04 00             	ret    $0x4
51c999:	cc                   	int3
51c99a:	cc                   	int3
51c99b:	cc                   	int3
51c99c:	cc                   	int3
51c99d:	cc                   	int3
51c99e:	cc                   	int3
51c99f:	cc                   	int3
51c9a0:	cc                   	int3
51c9a1:	cc                   	int3
51c9a2:	cc                   	int3
51c9a3:	cc                   	int3
51c9a4:	cc                   	int3
51c9a5:	cc                   	int3
51c9a6:	cc                   	int3
51c9a7:	cc                   	int3
51c9a8:	cc                   	int3
51c9a9:	cc                   	int3
51c9aa:	cc                   	int3
51c9ab:	cc                   	int3
51c9ac:	cc                   	int3
51c9ad:	cc                   	int3
51c9ae:	cc                   	int3
51c9af:	cc                   	int3
51c9b0:	56                   	push   %esi
51c9b1:	8b 71 08             	mov    0x8(%ecx),%esi
51c9b4:	b8 8d c0 08 8c       	mov    $0x8c08c08d,%eax
51c9b9:	2b 31                	sub    (%ecx),%esi
51c9bb:	f7 ee                	imul   %esi
51c9bd:	03 d6                	add    %esi,%edx
51c9bf:	c1 fa 08             	sar    $0x8,%edx
51c9c2:	8b f2                	mov    %edx,%esi
51c9c4:	c1 ee 1f             	shr    $0x1f,%esi
51c9c7:	03 f2                	add    %edx,%esi
51c9c9:	ba c0 08 8c 00       	mov    $0x8c08c0,%edx
51c9ce:	8b c6                	mov    %esi,%eax
51c9d0:	d1 e8                	shr    $1,%eax
51c9d2:	2b d0                	sub    %eax,%edx
51c9d4:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
51c9d7:	33 c0                	xor    %eax,%eax
51c9d9:	3b d6                	cmp    %esi,%edx
51c9db:	5e                   	pop    %esi
51c9dc:	0f 43 c1             	cmovae %ecx,%eax
51c9df:	3b 44 24 04          	cmp    0x4(%esp),%eax
51c9e3:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
51c9e8:	c2 04 00             	ret    $0x4
51c9eb:	cc                   	int3
51c9ec:	cc                   	int3
51c9ed:	cc                   	int3
51c9ee:	cc                   	int3
51c9ef:	cc                   	int3
51c9f0:	cc                   	int3
51c9f1:	cc                   	int3
51c9f2:	cc                   	int3
51c9f3:	cc                   	int3
51c9f4:	cc                   	int3
51c9f5:	cc                   	int3
51c9f6:	cc                   	int3
51c9f7:	cc                   	int3
51c9f8:	cc                   	int3
51c9f9:	cc                   	int3
51c9fa:	cc                   	int3
51c9fb:	cc                   	int3
51c9fc:	cc                   	int3
51c9fd:	cc                   	int3
51c9fe:	cc                   	int3
51c9ff:	cc                   	int3
51ca00:	8b 44 24 04          	mov    0x4(%esp),%eax
51ca04:	3b 41 04             	cmp    0x4(%ecx),%eax
51ca07:	73 09                	jae    0x51ca12
51ca09:	39 01                	cmp    %eax,(%ecx)
51ca0b:	77 05                	ja     0x51ca12
51ca0d:	b0 01                	mov    $0x1,%al
51ca0f:	c2 04 00             	ret    $0x4
51ca12:	32 c0                	xor    %al,%al
51ca14:	c2 04 00             	ret    $0x4
51ca17:	cc                   	int3
51ca18:	cc                   	int3
51ca19:	cc                   	int3
51ca1a:	cc                   	int3
51ca1b:	cc                   	int3
51ca1c:	cc                   	int3
51ca1d:	cc                   	int3
51ca1e:	cc                   	int3
51ca1f:	cc                   	int3
51ca20:	8b 44 24 04          	mov    0x4(%esp),%eax
51ca24:	3b 41 04             	cmp    0x4(%ecx),%eax
51ca27:	73 09                	jae    0x51ca32
51ca29:	39 01                	cmp    %eax,(%ecx)
51ca2b:	77 05                	ja     0x51ca32
51ca2d:	b0 01                	mov    $0x1,%al
51ca2f:	c2 04 00             	ret    $0x4
51ca32:	32 c0                	xor    %al,%al
51ca34:	c2 04 00             	ret    $0x4
51ca37:	cc                   	int3
51ca38:	cc                   	int3
51ca39:	cc                   	int3
51ca3a:	cc                   	int3
51ca3b:	cc                   	int3
51ca3c:	cc                   	int3
51ca3d:	cc                   	int3
51ca3e:	cc                   	int3
51ca3f:	cc                   	int3
51ca40:	8b 44 24 04          	mov    0x4(%esp),%eax
51ca44:	8b 4c 24 08          	mov    0x8(%esp),%ecx