460705:	8b c8                	mov    %eax,%ecx
460707:	83 c4 04             	add    $0x4,%esp
46070a:	85 c9                	test   %ecx,%ecx
46070c:	74 25                	je     0x460733
46070e:	8d 41 23             	lea    0x23(%ecx),%eax
460711:	83 e0 e0             	and    $0xffffffe0,%eax
460714:	89 48 fc             	mov    %ecx,-0x4(%eax)
460717:	c2 04 00             	ret    $0x4
46071a:	50                   	push   %eax
46071b:	e8 5d a2 fc ff       	call   0x42a97d
460720:	83 c4 04             	add    $0x4,%esp
460723:	85 c0                	test   %eax,%eax
460725:	75 b3                	jne    0x4606da
460727:	eb 0f                	jmp    0x460738
460729:	e8 f0 17 fa ff       	call   0x401f1e
46072e:	e8 eb 17 fa ff       	call   0x401f1e
460733:	e8 55 d2 fd ff       	call   0x43d98d
460738:	e8 50 d2 fd ff       	call   0x43d98d
46073d:	cc                   	int3
46073e:	cc                   	int3
46073f:	cc                   	int3
460740:	cc                   	int3
460741:	cc                   	int3
460742:	cc                   	int3
460743:	cc                   	int3
460744:	cc                   	int3
460745:	cc                   	int3
460746:	cc                   	int3
460747:	cc                   	int3
460748:	cc                   	int3
460749:	cc                   	int3
46074a:	cc                   	int3
46074b:	cc                   	int3
46074c:	cc                   	int3
46074d:	cc                   	int3
46074e:	cc                   	int3
46074f:	cc                   	int3
460750:	cc                   	int3
460751:	cc                   	int3
460752:	cc                   	int3
460753:	cc                   	int3
460754:	cc                   	int3
460755:	cc                   	int3
460756:	cc                   	int3
460757:	cc                   	int3
460758:	cc                   	int3
460759:	cc                   	int3
46075a:	cc                   	int3
46075b:	cc                   	int3
46075c:	cc                   	int3
46075d:	cc                   	int3
46075e:	cc                   	int3
46075f:	cc                   	int3
460760:	8b 44 24 04          	mov    0x4(%esp),%eax
460764:	85 c0                	test   %eax,%eax
460766:	75 03                	jne    0x46076b
460768:	c2 04 00             	ret    $0x4
46076b:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
460770:	77 3b                	ja     0x4607ad
460772:	c1 e0 02             	shl    $0x2,%eax
460775:	3d 00 10 00 00       	cmp    $0x1000,%eax
46077a:	72 22                	jb     0x46079e
46077c:	8d 48 23             	lea    0x23(%eax),%ecx
46077f:	3b c8                	cmp    %eax,%ecx
460781:	76 2f                	jbe    0x4607b2
460783:	51                   	push   %ecx
460784:	e8 f4 a1 fc ff       	call   0x42a97d
460789:	8b c8                	mov    %eax,%ecx
46078b:	83 c4 04             	add    $0x4,%esp
46078e:	85 c9                	test   %ecx,%ecx
460790:	74 25                	je     0x4607b7
460792:	8d 41 23             	lea    0x23(%ecx),%eax
460795:	83 e0 e0             	and    $0xffffffe0,%eax
460798:	89 48 fc             	mov    %ecx,-0x4(%eax)
46079b:	c2 04 00             	ret    $0x4
46079e:	50                   	push   %eax
46079f:	e8 d9 a1 fc ff       	call   0x42a97d
4607a4:	83 c4 04             	add    $0x4,%esp
4607a7:	85 c0                	test   %eax,%eax
4607a9:	75 bd                	jne    0x460768
4607ab:	eb 0f                	jmp    0x4607bc
4607ad:	e8 6c 17 fa ff       	call   0x401f1e
4607b2:	e8 67 17 fa ff       	call   0x401f1e
4607b7:	e8 d1 d1 fd ff       	call   0x43d98d
4607bc:	e8 cc d1 fd ff       	call   0x43d98d
4607c1:	cc                   	int3
4607c2:	cc                   	int3
4607c3:	cc                   	int3
4607c4:	cc                   	int3
4607c5:	cc                   	int3
4607c6:	cc                   	int3
4607c7:	cc                   	int3
4607c8:	cc                   	int3
4607c9:	cc                   	int3
4607ca:	cc                   	int3
4607cb:	cc                   	int3
4607cc:	cc                   	int3
4607cd:	cc                   	int3
4607ce:	cc                   	int3
4607cf:	cc                   	int3
4607d0:	cc                   	int3
4607d1:	cc                   	int3
4607d2:	cc                   	int3
4607d3:	cc                   	int3
4607d4:	cc                   	int3
4607d5:	cc                   	int3
4607d6:	cc                   	int3
4607d7:	cc                   	int3
4607d8:	cc                   	int3
4607d9:	cc                   	int3
4607da:	cc                   	int3
4607db:	cc                   	int3
4607dc:	cc                   	int3
4607dd:	cc                   	int3
4607de:	cc                   	int3
4607df:	cc                   	int3
4607e0:	8b 44 24 04          	mov    0x4(%esp),%eax
4607e4:	85 c0                	test   %eax,%eax
4607e6:	75 03                	jne    0x4607eb
4607e8:	c2 04 00             	ret    $0x4
4607eb:	3d aa aa aa 0a       	cmp    $0xaaaaaaa,%eax
4607f0:	77 3e                	ja     0x460830
4607f2:	8d 04 40             	lea    (%eax,%eax,2),%eax
4607f5:	c1 e0 03             	shl    $0x3,%eax
4607f8:	3d 00 10 00 00       	cmp    $0x1000,%eax
4607fd:	72 22                	jb     0x460821
4607ff:	8d 48 23             	lea    0x23(%eax),%ecx
460802:	3b c8                	cmp    %eax,%ecx
460804:	76 2f                	jbe    0x460835
460806:	51                   	push   %ecx
460807:	e8 71 a1 fc ff       	call   0x42a97d
46080c:	8b c8                	mov    %eax,%ecx
46080e:	83 c4 04             	add    $0x4,%esp
460811:	85 c9                	test   %ecx,%ecx
460813:	74 25                	je     0x46083a
460815:	8d 41 23             	lea    0x23(%ecx),%eax
460818:	83 e0 e0             	and    $0xffffffe0,%eax
46081b:	89 48 fc             	mov    %ecx,-0x4(%eax)
46081e:	c2 04 00             	ret    $0x4
460821:	50                   	push   %eax
460822:	e8 56 a1 fc ff       	call   0x42a97d
460827:	83 c4 04             	add    $0x4,%esp
46082a:	85 c0                	test   %eax,%eax
46082c:	75 ba                	jne    0x4607e8
46082e:	eb 0f                	jmp    0x46083f
460830:	e8 e9 16 fa ff       	call   0x401f1e
460835:	e8 e4 16 fa ff       	call   0x401f1e
46083a:	e8 4e d1 fd ff       	call   0x43d98d
46083f:	e8 49 d1 fd ff       	call   0x43d98d
460844:	cc                   	int3
460845:	cc                   	int3
460846:	cc                   	int3
460847:	cc                   	int3
460848:	cc                   	int3
460849:	cc                   	int3
46084a:	cc                   	int3
46084b:	cc                   	int3
46084c:	cc                   	int3
46084d:	cc                   	int3
46084e:	cc                   	int3
46084f:	cc                   	int3
460850:	cc                   	int3
460851:	cc                   	int3
460852:	cc                   	int3
460853:	cc                   	int3
460854:	cc                   	int3
460855:	cc                   	int3
460856:	cc                   	int3
460857:	cc                   	int3
460858:	cc                   	int3
460859:	cc                   	int3
46085a:	cc                   	int3
46085b:	cc                   	int3
46085c:	cc                   	int3
46085d:	cc                   	int3
46085e:	cc                   	int3
46085f:	cc                   	int3
460860:	ff 74 24 08          	push   0x8(%esp)
460864:	8b 01                	mov    (%ecx),%eax
460866:	ff 74 24 08          	push   0x8(%esp)
46086a:	89 41 04             	mov    %eax,0x4(%ecx)
46086d:	8d 44 24 10          	lea    0x10(%esp),%eax
460871:	ff 31                	push   (%ecx)
460873:	50                   	push   %eax
460874:	e8 a4 25 fb ff       	call   0x412e1d
460879:	c2 08 00             	ret    $0x8
46087c:	cc                   	int3
46087d:	cc                   	int3
46087e:	cc                   	int3
46087f:	cc                   	int3
460880:	cc                   	int3
460881:	cc                   	int3
460882:	cc                   	int3
460883:	cc                   	int3
460884:	cc                   	int3
460885:	cc                   	int3
460886:	cc                   	int3
460887:	cc                   	int3
460888:	cc                   	int3
460889:	cc                   	int3
46088a:	cc                   	int3
46088b:	cc                   	int3
46088c:	cc                   	int3
46088d:	cc                   	int3
46088e:	cc                   	int3
46088f:	cc                   	int3
460890:	8b 44 24 04          	mov    0x4(%esp),%eax
460894:	8b 09                	mov    (%ecx),%ecx
460896:	89 08                	mov    %ecx,(%eax)
460898:	c2 04 00             	ret    $0x4
46089b:	cc                   	int3
46089c:	cc                   	int3
46089d:	cc                   	int3
46089e:	cc                   	int3
46089f:	cc                   	int3
4608a0:	8b 41 08             	mov    0x8(%ecx),%eax
4608a3:	2b 01                	sub    (%ecx),%eax
4608a5:	c1 f8 02             	sar    $0x2,%eax
4608a8:	c3                   	ret
4608a9:	cc                   	int3
4608aa:	cc                   	int3
4608ab:	cc                   	int3
4608ac:	cc                   	int3
4608ad:	cc                   	int3
4608ae:	cc                   	int3
4608af:	cc                   	int3
4608b0:	8b 51 08             	mov    0x8(%ecx),%edx
4608b3:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4608b8:	2b 11                	sub    (%ecx),%edx
4608ba:	f7 ea                	imul   %edx
4608bc:	c1 fa 02             	sar    $0x2,%edx
4608bf:	8b c2                	mov    %edx,%eax
4608c1:	c1 e8 1f             	shr    $0x1f,%eax
4608c4:	03 c2                	add    %edx,%eax
4608c6:	c3                   	ret
4608c7:	cc                   	int3
4608c8:	cc                   	int3
4608c9:	cc                   	int3
4608ca:	cc                   	int3
4608cb:	cc                   	int3
4608cc:	cc                   	int3
4608cd:	cc                   	int3
4608ce:	cc                   	int3
4608cf:	cc                   	int3
4608d0:	51                   	push   %ecx
4608d1:	8b 01                	mov    (%ecx),%eax
4608d3:	53                   	push   %ebx
4608d4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4608d8:	8b 18                	mov    (%eax),%ebx
4608da:	89 00                	mov    %eax,(%eax)
4608dc:	8b 01                	mov    (%ecx),%eax
4608de:	89 40 04             	mov    %eax,0x4(%eax)
4608e1:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
4608e8:	3b 19                	cmp    (%ecx),%ebx
4608ea:	0f 84 d1 00 00 00    	je     0x4609c1
4608f0:	55                   	push   %ebp
4608f1:	56                   	push   %esi
4608f2:	57                   	push   %edi
4608f3:	8b 2b                	mov    (%ebx),%ebp
4608f5:	8d 73 08             	lea    0x8(%ebx),%esi
4608f8:	8b 46 2c             	mov    0x2c(%esi),%eax
4608fb:	8d 7e 18             	lea    0x18(%esi),%edi
4608fe:	83 f8 10             	cmp    $0x10,%eax
460901:	72 3d                	jb     0x460940
460903:	8b 0f                	mov    (%edi),%ecx
460905:	40                   	inc    %eax
460906:	3d 00 10 00 00       	cmp    $0x1000,%eax
46090b:	72 2a                	jb     0x460937
46090d:	f6 c1 1f             	test   $0x1f,%cl
460910:	0f 85 ae 00 00 00    	jne    0x4609c4
460916:	8b 41 fc             	mov    -0x4(%ecx),%eax
460919:	3b c1                	cmp    %ecx,%eax
46091b:	0f 83 a3 00 00 00    	jae    0x4609c4
460921:	2b c8                	sub    %eax,%ecx
460923:	83 f9 04             	cmp    $0x4,%ecx
460926:	0f 82 98 00 00 00    	jb     0x4609c4
46092c:	83 f9 23             	cmp    $0x23,%ecx
46092f:	0f 87 8f 00 00 00    	ja     0x4609c4
460935:	8b c8                	mov    %eax,%ecx
460937:	51                   	push   %ecx
460938:	e8 52 0e fa ff       	call   0x40178f
46093d:	83 c4 04             	add    $0x4,%esp
460940:	c7 47 14 0f 00 00 00 	movl   $0xf,0x14(%edi)
460947:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
46094b:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
460952:	72 02                	jb     0x460956
460954:	8b 3f                	mov    (%edi),%edi
460956:	c6 07 00             	movb   $0x0,(%edi)
460959:	8b 46 14             	mov    0x14(%esi),%eax
46095c:	83 f8 10             	cmp    $0x10,%eax
46095f:	72 2d                	jb     0x46098e
460961:	8b 0e                	mov    (%esi),%ecx
460963:	40                   	inc    %eax
460964:	3d 00 10 00 00       	cmp    $0x1000,%eax
460969:	72 1a                	jb     0x460985
46096b:	f6 c1 1f             	test   $0x1f,%cl
46096e:	75 54                	jne    0x4609c4
460970:	8b 41 fc             	mov    -0x4(%ecx),%eax
460973:	3b c1                	cmp    %ecx,%eax
460975:	73 4d                	jae    0x4609c4
460977:	2b c8                	sub    %eax,%ecx
460979:	83 f9 04             	cmp    $0x4,%ecx
46097c:	72 46                	jb     0x4609c4
46097e:	83 f9 23             	cmp    $0x23,%ecx
460981:	77 41                	ja     0x4609c4
460983:	8b c8                	mov    %eax,%ecx
460985:	51                   	push   %ecx
460986:	e8 04 0e fa ff       	call   0x40178f
46098b:	83 c4 04             	add    $0x4,%esp
46098e:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
460995:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
460999:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4609a0:	72 02                	jb     0x4609a4
4609a2:	8b 36                	mov    (%esi),%esi
4609a4:	53                   	push   %ebx
4609a5:	c6 06 00             	movb   $0x0,(%esi)
4609a8:	e8 e2 0d fa ff       	call   0x40178f
4609ad:	8b 44 24 14          	mov    0x14(%esp),%eax
4609b1:	83 c4 04             	add    $0x4,%esp
4609b4:	8b dd                	mov    %ebp,%ebx
4609b6:	3b 28                	cmp    (%eax),%ebp
4609b8:	0f 85 35 ff ff ff    	jne    0x4608f3
4609be:	5f                   	pop    %edi
4609bf:	5e                   	pop    %esi
4609c0:	5d                   	pop    %ebp
4609c1:	5b                   	pop    %ebx
4609c2:	59                   	pop    %ecx
4609c3:	c3                   	ret
4609c4:	e8 c4 cf fd ff       	call   0x43d98d
4609c9:	cc                   	int3
4609ca:	cc                   	int3
4609cb:	cc                   	int3
4609cc:	cc                   	int3
4609cd:	cc                   	int3
4609ce:	cc                   	int3
4609cf:	cc                   	int3
4609d0:	cc                   	int3
4609d1:	cc                   	int3
4609d2:	cc                   	int3
4609d3:	cc                   	int3
4609d4:	cc                   	int3
4609d5:	cc                   	int3
4609d6:	cc                   	int3
4609d7:	cc                   	int3
4609d8:	cc                   	int3
4609d9:	cc                   	int3
4609da:	cc                   	int3
4609db:	cc                   	int3
4609dc:	cc                   	int3
4609dd:	cc                   	int3