7c57b8:	cc                   	int3
7c57b9:	cc                   	int3
7c57ba:	cc                   	int3
7c57bb:	cc                   	int3
7c57bc:	cc                   	int3
7c57bd:	cc                   	int3
7c57be:	cc                   	int3
7c57bf:	cc                   	int3
7c57c0:	8b c1                	mov    %ecx,%eax
7c57c2:	c3                   	ret
7c57c3:	cc                   	int3
7c57c4:	cc                   	int3
7c57c5:	cc                   	int3
7c57c6:	cc                   	int3
7c57c7:	cc                   	int3
7c57c8:	cc                   	int3
7c57c9:	cc                   	int3
7c57ca:	cc                   	int3
7c57cb:	cc                   	int3
7c57cc:	cc                   	int3
7c57cd:	cc                   	int3
7c57ce:	cc                   	int3
7c57cf:	cc                   	int3
7c57d0:	8b c1                	mov    %ecx,%eax
7c57d2:	c3                   	ret
7c57d3:	cc                   	int3
7c57d4:	cc                   	int3
7c57d5:	cc                   	int3
7c57d6:	cc                   	int3
7c57d7:	cc                   	int3
7c57d8:	cc                   	int3
7c57d9:	cc                   	int3
7c57da:	cc                   	int3
7c57db:	cc                   	int3
7c57dc:	cc                   	int3
7c57dd:	cc                   	int3
7c57de:	cc                   	int3
7c57df:	cc                   	int3
7c57e0:	8b c1                	mov    %ecx,%eax
7c57e2:	c3                   	ret
7c57e3:	cc                   	int3
7c57e4:	cc                   	int3
7c57e5:	cc                   	int3
7c57e6:	cc                   	int3
7c57e7:	cc                   	int3
7c57e8:	cc                   	int3
7c57e9:	cc                   	int3
7c57ea:	cc                   	int3
7c57eb:	cc                   	int3
7c57ec:	cc                   	int3
7c57ed:	cc                   	int3
7c57ee:	cc                   	int3
7c57ef:	cc                   	int3
7c57f0:	8b c1                	mov    %ecx,%eax
7c57f2:	c3                   	ret
7c57f3:	cc                   	int3
7c57f4:	cc                   	int3
7c57f5:	cc                   	int3
7c57f6:	cc                   	int3
7c57f7:	cc                   	int3
7c57f8:	cc                   	int3
7c57f9:	cc                   	int3
7c57fa:	cc                   	int3
7c57fb:	cc                   	int3
7c57fc:	cc                   	int3
7c57fd:	cc                   	int3
7c57fe:	cc                   	int3
7c57ff:	cc                   	int3
7c5800:	8b c1                	mov    %ecx,%eax
7c5802:	c3                   	ret
7c5803:	cc                   	int3
7c5804:	cc                   	int3
7c5805:	cc                   	int3
7c5806:	cc                   	int3
7c5807:	cc                   	int3
7c5808:	cc                   	int3
7c5809:	cc                   	int3
7c580a:	cc                   	int3
7c580b:	cc                   	int3
7c580c:	cc                   	int3
7c580d:	cc                   	int3
7c580e:	cc                   	int3
7c580f:	cc                   	int3
7c5810:	8b c1                	mov    %ecx,%eax
7c5812:	c3                   	ret
7c5813:	cc                   	int3
7c5814:	cc                   	int3
7c5815:	cc                   	int3
7c5816:	cc                   	int3
7c5817:	cc                   	int3
7c5818:	cc                   	int3
7c5819:	cc                   	int3
7c581a:	cc                   	int3
7c581b:	cc                   	int3
7c581c:	cc                   	int3
7c581d:	cc                   	int3
7c581e:	cc                   	int3
7c581f:	cc                   	int3
7c5820:	56                   	push   %esi
7c5821:	8b 71 08             	mov    0x8(%ecx),%esi
7c5824:	ba ff ff ff 3f       	mov    $0x3fffffff,%edx
7c5829:	2b 31                	sub    (%ecx),%esi
7c582b:	c1 fe 02             	sar    $0x2,%esi
7c582e:	8b c6                	mov    %esi,%eax
7c5830:	d1 e8                	shr    $1,%eax
7c5832:	2b d0                	sub    %eax,%edx
7c5834:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
7c5837:	33 c0                	xor    %eax,%eax
7c5839:	3b d6                	cmp    %esi,%edx
7c583b:	5e                   	pop    %esi
7c583c:	0f 43 c1             	cmovae %ecx,%eax
7c583f:	3b 44 24 04          	cmp    0x4(%esp),%eax
7c5843:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
7c5848:	c2 04 00             	ret    $0x4
7c584b:	cc                   	int3
7c584c:	cc                   	int3
7c584d:	cc                   	int3
7c584e:	cc                   	int3
7c584f:	cc                   	int3
7c5850:	cc                   	int3
7c5851:	cc                   	int3
7c5852:	cc                   	int3
7c5853:	cc                   	int3
7c5854:	cc                   	int3
7c5855:	cc                   	int3
7c5856:	cc                   	int3
7c5857:	cc                   	int3
7c5858:	cc                   	int3
7c5859:	cc                   	int3
7c585a:	cc                   	int3
7c585b:	cc                   	int3
7c585c:	cc                   	int3
7c585d:	cc                   	int3
7c585e:	cc                   	int3
7c585f:	cc                   	int3
7c5860:	56                   	push   %esi
7c5861:	8b 71 08             	mov    0x8(%ecx),%esi
7c5864:	ba ff ff ff 3f       	mov    $0x3fffffff,%edx
7c5869:	2b 31                	sub    (%ecx),%esi
7c586b:	c1 fe 02             	sar    $0x2,%esi
7c586e:	8b c6                	mov    %esi,%eax
7c5870:	d1 e8                	shr    $1,%eax
7c5872:	2b d0                	sub    %eax,%edx
7c5874:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
7c5877:	33 c0                	xor    %eax,%eax
7c5879:	3b d6                	cmp    %esi,%edx
7c587b:	5e                   	pop    %esi
7c587c:	0f 43 c1             	cmovae %ecx,%eax
7c587f:	3b 44 24 04          	cmp    0x4(%esp),%eax
7c5883:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
7c5888:	c2 04 00             	ret    $0x4
7c588b:	cc                   	int3
7c588c:	cc                   	int3
7c588d:	cc                   	int3
7c588e:	cc                   	int3
7c588f:	cc                   	int3
7c5890:	cc                   	int3
7c5891:	cc                   	int3
7c5892:	cc                   	int3
7c5893:	cc                   	int3
7c5894:	cc                   	int3
7c5895:	cc                   	int3
7c5896:	cc                   	int3
7c5897:	cc                   	int3
7c5898:	cc                   	int3
7c5899:	cc                   	int3
7c589a:	cc                   	int3
7c589b:	cc                   	int3
7c589c:	cc                   	int3
7c589d:	cc                   	int3
7c589e:	cc                   	int3
7c589f:	cc                   	int3
7c58a0:	8b 54 24 04          	mov    0x4(%esp),%edx
7c58a4:	53                   	push   %ebx
7c58a5:	56                   	push   %esi
7c58a6:	57                   	push   %edi
7c58a7:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
7c58ab:	8b d9                	mov    %ecx,%ebx
7c58ad:	8b 7a 10             	mov    0x10(%edx),%edi
7c58b0:	72 02                	jb     0x7c58b4
7c58b2:	8b 12                	mov    (%edx),%edx
7c58b4:	33 c9                	xor    %ecx,%ecx
7c58b6:	be c5 9d 1c 81       	mov    $0x811c9dc5,%esi
7c58bb:	85 ff                	test   %edi,%edi
7c58bd:	74 12                	je     0x7c58d1
7c58bf:	90                   	nop
7c58c0:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
7c58c4:	41                   	inc    %ecx
7c58c5:	33 c6                	xor    %esi,%eax
7c58c7:	69 f0 93 01 00 01    	imul   $0x1000193,%eax,%esi
7c58cd:	3b cf                	cmp    %edi,%ecx
7c58cf:	72 ef                	jb     0x7c58c0
7c58d1:	8b 43 18             	mov    0x18(%ebx),%eax
7c58d4:	5f                   	pop    %edi
7c58d5:	23 c6                	and    %esi,%eax
7c58d7:	5e                   	pop    %esi
7c58d8:	5b                   	pop    %ebx
7c58d9:	c2 04 00             	ret    $0x4
7c58dc:	cc                   	int3
7c58dd:	cc                   	int3
7c58de:	cc                   	int3
7c58df:	cc                   	int3
7c58e0:	cc                   	int3
7c58e1:	cc                   	int3
7c58e2:	cc                   	int3
7c58e3:	cc                   	int3
7c58e4:	cc                   	int3
7c58e5:	cc                   	int3
7c58e6:	cc                   	int3
7c58e7:	cc                   	int3
7c58e8:	cc                   	int3
7c58e9:	cc                   	int3
7c58ea:	cc                   	int3
7c58eb:	cc                   	int3
7c58ec:	cc                   	int3
7c58ed:	cc                   	int3
7c58ee:	cc                   	int3
7c58ef:	cc                   	int3
7c58f0:	8b 51 04             	mov    0x4(%ecx),%edx
7c58f3:	b8 c6 71 1c 07       	mov    $0x71c71c6,%eax
7c58f8:	56                   	push   %esi
7c58f9:	8b 74 24 08          	mov    0x8(%esp),%esi
7c58fd:	2b c2                	sub    %edx,%eax
7c58ff:	3b c6                	cmp    %esi,%eax
7c5901:	72 0a                	jb     0x7c590d
7c5903:	8d 04 32             	lea    (%edx,%esi,1),%eax
7c5906:	89 41 04             	mov    %eax,0x4(%ecx)
7c5909:	5e                   	pop    %esi
7c590a:	c2 04 00             	ret    $0x4
7c590d:	68 0c 61 bd 00       	push   $0xbd610c
7c5912:	e8 ff 3e c6 ff       	call   0x429816
7c5917:	cc                   	int3
7c5918:	cc                   	int3
7c5919:	cc                   	int3
7c591a:	cc                   	int3
7c591b:	cc                   	int3
7c591c:	cc                   	int3
7c591d:	cc                   	int3
7c591e:	cc                   	int3
7c591f:	cc                   	int3
7c5920:	cc                   	int3
7c5921:	cc                   	int3
7c5922:	cc                   	int3
7c5923:	cc                   	int3
7c5924:	cc                   	int3
7c5925:	cc                   	int3
7c5926:	cc                   	int3
7c5927:	cc                   	int3
7c5928:	cc                   	int3
7c5929:	cc                   	int3
7c592a:	cc                   	int3
7c592b:	cc                   	int3
7c592c:	cc                   	int3
7c592d:	cc                   	int3
7c592e:	cc                   	int3
7c592f:	cc                   	int3
7c5930:	51                   	push   %ecx
7c5931:	53                   	push   %ebx
7c5932:	8b d9                	mov    %ecx,%ebx
7c5934:	55                   	push   %ebp
7c5935:	8b 6c 24 10          	mov    0x10(%esp),%ebp
7c5939:	56                   	push   %esi
7c593a:	8b 43 14             	mov    0x14(%ebx),%eax
7c593d:	2b 43 0c             	sub    0xc(%ebx),%eax
7c5940:	57                   	push   %edi
7c5941:	8d 3c 6d 00 00 00 00 	lea    0x0(,%ebp,2),%edi
7c5948:	c1 f8 02             	sar    $0x2,%eax
7c594b:	3b c7                	cmp    %edi,%eax
7c594d:	73 11                	jae    0x7c5960
7c594f:	81 ff ff ff ff 3f    	cmp    $0x3fffffff,%edi
7c5955:	77 3d                	ja     0x7c5994
7c5957:	57                   	push   %edi
7c5958:	8d 4b 0c             	lea    0xc(%ebx),%ecx
7c595b:	e8 58 e2 c6 ff       	call   0x433bb8
7c5960:	8b 43 04             	mov    0x4(%ebx),%eax
7c5963:	8d 4b 0c             	lea    0xc(%ebx),%ecx
7c5966:	89 44 24 18          	mov    %eax,0x18(%esp)
7c596a:	8b 43 0c             	mov    0xc(%ebx),%eax
7c596d:	89 43 10             	mov    %eax,0x10(%ebx)
7c5970:	8d 44 24 18          	lea    0x18(%esp),%eax
7c5974:	50                   	push   %eax
7c5975:	57                   	push   %edi
7c5976:	ff 73 0c             	push   0xc(%ebx)
7c5979:	8d 44 24 1c          	lea    0x1c(%esp),%eax
7c597d:	50                   	push   %eax
7c597e:	e8 8b 13 c7 ff       	call   0x436d0e
7c5983:	5f                   	pop    %edi
7c5984:	5e                   	pop    %esi
7c5985:	8d 45 ff             	lea    -0x1(%ebp),%eax
7c5988:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
7c598b:	5d                   	pop    %ebp
7c598c:	89 43 18             	mov    %eax,0x18(%ebx)
7c598f:	5b                   	pop    %ebx
7c5990:	59                   	pop    %ecx
7c5991:	c2 04 00             	ret    $0x4
7c5994:	68 58 20 bd 00       	push   $0xbd2058
7c5999:	e8 78 3e c6 ff       	call   0x429816
7c599e:	cc                   	int3
7c599f:	cc                   	int3
7c59a0:	cc                   	int3
7c59a1:	cc                   	int3
7c59a2:	cc                   	int3
7c59a3:	cc                   	int3
7c59a4:	cc                   	int3
7c59a5:	cc                   	int3
7c59a6:	cc                   	int3
7c59a7:	cc                   	int3
7c59a8:	cc                   	int3
7c59a9:	cc                   	int3
7c59aa:	cc                   	int3
7c59ab:	cc                   	int3
7c59ac:	cc                   	int3
7c59ad:	cc                   	int3
7c59ae:	cc                   	int3
7c59af:	cc                   	int3
7c59b0:	cc                   	int3
7c59b1:	cc                   	int3
7c59b2:	cc                   	int3
7c59b3:	cc                   	int3
7c59b4:	cc                   	int3
7c59b5:	cc                   	int3
7c59b6:	cc                   	int3
7c59b7:	cc                   	int3
7c59b8:	cc                   	int3
7c59b9:	cc                   	int3
7c59ba:	cc                   	int3
7c59bb:	cc                   	int3
7c59bc:	cc                   	int3
7c59bd:	cc                   	int3
7c59be:	cc                   	int3
7c59bf:	cc                   	int3
7c59c0:	8b 44 24 0c          	mov    0xc(%esp),%eax
7c59c4:	8b 51 0c             	mov    0xc(%ecx),%edx
7c59c7:	56                   	push   %esi
7c59c8:	8d 34 c5 00 00 00 00 	lea    0x0(,%eax,8),%esi
7c59cf:	8b 04 32             	mov    (%edx,%esi,1),%eax
7c59d2:	03 d6                	add    %esi,%edx
7c59d4:	3b 41 04             	cmp    0x4(%ecx),%eax
7c59d7:	75 15                	jne    0x7c59ee
7c59d9:	8b 44 24 08          	mov    0x8(%esp),%eax
7c59dd:	89 02                	mov    %eax,(%edx)
7c59df:	8b 49 0c             	mov    0xc(%ecx),%ecx
7c59e2:	8b 44 24 08          	mov    0x8(%esp),%eax
7c59e6:	89 44 0e 04          	mov    %eax,0x4(%esi,%ecx,1)
7c59ea:	5e                   	pop    %esi
7c59eb:	c2 0c 00             	ret    $0xc
7c59ee:	3b 44 24 0c          	cmp    0xc(%esp),%eax
7c59f2:	75 0a                	jne    0x7c59fe
7c59f4:	8b 44 24 08          	mov    0x8(%esp),%eax
7c59f8:	89 02                	mov    %eax,(%edx)