4af845:	f2 0f 59 da          	mulsd  %xmm2,%xmm3
4af849:	f2 0f 2c c3          	cvttsd2si %xmm3,%eax
4af84d:	89 44 24 0c          	mov    %eax,0xc(%esp)
4af851:	66 0f 6e c0          	movd   %eax,%xmm0
4af855:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4af859:	f2 0f 5c d8          	subsd  %xmm0,%xmm3
4af85d:	66 0f 2f dd          	comisd %xmm5,%xmm3
4af861:	72 05                	jb     0x4af868
4af863:	40                   	inc    %eax
4af864:	89 44 24 0c          	mov    %eax,0xc(%esp)
4af868:	3b c2                	cmp    %edx,%eax
4af86a:	7c 0b                	jl     0x4af877
4af86c:	41                   	inc    %ecx
4af86d:	2b c2                	sub    %edx,%eax
4af86f:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4af873:	89 44 24 0c          	mov    %eax,0xc(%esp)
4af877:	8b 74 24 10          	mov    0x10(%esp),%esi
4af87b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4af880:	b8 67 66 66 66       	mov    $0x66666667,%eax
4af885:	f7 ee                	imul   %esi
4af887:	c1 fa 02             	sar    $0x2,%edx
4af88a:	8b ca                	mov    %edx,%ecx
4af88c:	c1 e9 1f             	shr    $0x1f,%ecx
4af88f:	03 ca                	add    %edx,%ecx
4af891:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
4af894:	03 c0                	add    %eax,%eax
4af896:	2b f0                	sub    %eax,%esi
4af898:	8a 86 cc 9b 6a 00    	mov    0x6a9bcc(%esi),%al
4af89e:	8b f1                	mov    %ecx,%esi
4af8a0:	88 44 3c 38          	mov    %al,0x38(%esp,%edi,1)
4af8a4:	47                   	inc    %edi
4af8a5:	85 f6                	test   %esi,%esi
4af8a7:	74 05                	je     0x4af8ae
4af8a9:	83 ff 14             	cmp    $0x14,%edi
4af8ac:	7c d2                	jl     0x4af880
4af8ae:	89 7c 24 10          	mov    %edi,0x10(%esp)
4af8b2:	be 00 00 00 00       	mov    $0x0,%esi
4af8b7:	83 ff 14             	cmp    $0x14,%edi
4af8ba:	75 0b                	jne    0x4af8c7
4af8bc:	bf 13 00 00 00       	mov    $0x13,%edi
4af8c1:	89 7c 24 10          	mov    %edi,0x10(%esp)
4af8c5:	eb 06                	jmp    0x4af8cd
4af8c7:	0f 83 6d 02 00 00    	jae    0x4afb3a
4af8cd:	c6 44 3c 38 00       	movb   $0x0,0x38(%esp,%edi,1)
4af8d2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4af8d6:	b8 67 66 66 66       	mov    $0x66666667,%eax
4af8db:	f7 ef                	imul   %edi
4af8dd:	c1 fa 02             	sar    $0x2,%edx
4af8e0:	8b ca                	mov    %edx,%ecx
4af8e2:	c1 e9 1f             	shr    $0x1f,%ecx
4af8e5:	03 ca                	add    %edx,%ecx
4af8e7:	8b 54 24 70          	mov    0x70(%esp),%edx
4af8eb:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
4af8ee:	03 c0                	add    %eax,%eax
4af8f0:	2b f8                	sub    %eax,%edi
4af8f2:	8a 87 cc 9b 6a 00    	mov    0x6a9bcc(%edi),%al
4af8f8:	8b f9                	mov    %ecx,%edi
4af8fa:	88 44 34 24          	mov    %al,0x24(%esp,%esi,1)
4af8fe:	46                   	inc    %esi
4af8ff:	3b f2                	cmp    %edx,%esi
4af901:	7c d3                	jl     0x4af8d6
4af903:	8b 7c 24 10          	mov    0x10(%esp),%edi
4af907:	89 74 24 0c          	mov    %esi,0xc(%esp)
4af90b:	83 fe 14             	cmp    $0x14,%esi
4af90e:	75 0b                	jne    0x4af91b
4af910:	be 13 00 00 00       	mov    $0x13,%esi
4af915:	89 74 24 0c          	mov    %esi,0xc(%esp)
4af919:	eb 06                	jmp    0x4af921
4af91b:	0f 83 19 02 00 00    	jae    0x4afb3a
4af921:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4af925:	33 c0                	xor    %eax,%eax
4af927:	c6 44 34 24 00       	movb   $0x0,0x24(%esp,%esi,1)
4af92c:	85 c9                	test   %ecx,%ecx
4af92e:	8b 74 24 6c          	mov    0x6c(%esp),%esi
4af932:	0f 95 c0             	setne  %al
4af935:	2b f0                	sub    %eax,%esi
4af937:	8b c2                	mov    %edx,%eax
4af939:	2b f7                	sub    %edi,%esi
4af93b:	2b f2                	sub    %edx,%esi
4af93d:	2b 44 24 0c          	sub    0xc(%esp),%eax
4af941:	ba 00 00 00 00       	mov    $0x0,%edx
4af946:	0f 48 c2             	cmovs  %edx,%eax
4af949:	89 44 24 10          	mov    %eax,0x10(%esp)
4af94d:	33 c0                	xor    %eax,%eax
4af94f:	83 ee 01             	sub    $0x1,%esi
4af952:	0f 48 f0             	cmovs  %eax,%esi
4af955:	8b 44 24 74          	mov    0x74(%esp),%eax
4af959:	a8 01                	test   $0x1,%al
4af95b:	74 02                	je     0x4af95f
4af95d:	f7 de                	neg    %esi
4af95f:	a8 10                	test   $0x10,%al
4af961:	74 72                	je     0x4af9d5
4af963:	85 f6                	test   %esi,%esi
4af965:	0f 8e 98 00 00 00    	jle    0x4afa03
4af96b:	85 c9                	test   %ecx,%ecx
4af96d:	74 37                	je     0x4af9a6
4af96f:	51                   	push   %ecx
4af970:	ff 74 24 20          	push   0x20(%esp)
4af974:	ff 74 24 20          	push   0x20(%esp)
4af978:	ff 74 24 20          	push   0x20(%esp)
4af97c:	ff 74 24 30          	push   0x30(%esp)
4af980:	e8 fb fc ff ff       	call   0x4af680
4af985:	83 c4 14             	add    $0x14,%esp
4af988:	85 c0                	test   %eax,%eax
4af98a:	75 13                	jne    0x4af99f
4af98c:	5f                   	pop    %edi
4af98d:	33 c0                	xor    %eax,%eax
4af98f:	5e                   	pop    %esi
4af990:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4af994:	33 cc                	xor    %esp,%ecx
4af996:	e8 3f 1b 13 00       	call   0x5e14da
4af99b:	83 c4 48             	add    $0x48,%esp
4af99e:	c3                   	ret
4af99f:	4e                   	dec    %esi
4af9a0:	33 c0                	xor    %eax,%eax
4af9a2:	89 44 24 08          	mov    %eax,0x8(%esp)
4af9a6:	85 f6                	test   %esi,%esi
4af9a8:	7e 59                	jle    0x4afa03
4af9aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4af9b0:	6a 30                	push   $0x30
4af9b2:	ff 74 24 20          	push   0x20(%esp)
4af9b6:	ff 74 24 20          	push   0x20(%esp)
4af9ba:	ff 74 24 20          	push   0x20(%esp)
4af9be:	ff 74 24 30          	push   0x30(%esp)
4af9c2:	e8 b9 fc ff ff       	call   0x4af680
4af9c7:	83 c4 14             	add    $0x14,%esp
4af9ca:	85 c0                	test   %eax,%eax
4af9cc:	74 be                	je     0x4af98c
4af9ce:	4e                   	dec    %esi
4af9cf:	85 f6                	test   %esi,%esi
4af9d1:	7f dd                	jg     0x4af9b0
4af9d3:	eb 2e                	jmp    0x4afa03
4af9d5:	85 f6                	test   %esi,%esi
4af9d7:	7e 2a                	jle    0x4afa03
4af9d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4af9e0:	6a 20                	push   $0x20
4af9e2:	ff 74 24 20          	push   0x20(%esp)
4af9e6:	ff 74 24 20          	push   0x20(%esp)
4af9ea:	ff 74 24 20          	push   0x20(%esp)
4af9ee:	ff 74 24 30          	push   0x30(%esp)
4af9f2:	e8 89 fc ff ff       	call   0x4af680
4af9f7:	83 c4 14             	add    $0x14,%esp
4af9fa:	85 c0                	test   %eax,%eax
4af9fc:	74 8e                	je     0x4af98c
4af9fe:	4e                   	dec    %esi
4af9ff:	85 f6                	test   %esi,%esi
4afa01:	7f dd                	jg     0x4af9e0
4afa03:	8b 44 24 08          	mov    0x8(%esp),%eax
4afa07:	85 c0                	test   %eax,%eax
4afa09:	74 21                	je     0x4afa2c
4afa0b:	50                   	push   %eax
4afa0c:	ff 74 24 20          	push   0x20(%esp)
4afa10:	ff 74 24 20          	push   0x20(%esp)
4afa14:	ff 74 24 20          	push   0x20(%esp)
4afa18:	ff 74 24 30          	push   0x30(%esp)
4afa1c:	e8 5f fc ff ff       	call   0x4af680
4afa21:	83 c4 14             	add    $0x14,%esp
4afa24:	85 c0                	test   %eax,%eax
4afa26:	0f 84 60 ff ff ff    	je     0x4af98c
4afa2c:	85 ff                	test   %edi,%edi
4afa2e:	7e 2b                	jle    0x4afa5b
4afa30:	0f be 44 3c 37       	movsbl 0x37(%esp,%edi,1),%eax
4afa35:	4f                   	dec    %edi
4afa36:	50                   	push   %eax
4afa37:	ff 74 24 20          	push   0x20(%esp)
4afa3b:	ff 74 24 20          	push   0x20(%esp)
4afa3f:	ff 74 24 20          	push   0x20(%esp)
4afa43:	ff 74 24 30          	push   0x30(%esp)
4afa47:	e8 34 fc ff ff       	call   0x4af680
4afa4c:	83 c4 14             	add    $0x14,%esp
4afa4f:	85 c0                	test   %eax,%eax
4afa51:	0f 84 35 ff ff ff    	je     0x4af98c
4afa57:	85 ff                	test   %edi,%edi
4afa59:	7f d5                	jg     0x4afa30
4afa5b:	83 7c 24 70 00       	cmpl   $0x0,0x70(%esp)
4afa60:	7f 07                	jg     0x4afa69
4afa62:	f6 44 24 74 08       	testb  $0x8,0x74(%esp)
4afa67:	74 55                	je     0x4afabe
4afa69:	6a 2e                	push   $0x2e
4afa6b:	ff 74 24 20          	push   0x20(%esp)
4afa6f:	ff 74 24 20          	push   0x20(%esp)
4afa73:	ff 74 24 20          	push   0x20(%esp)
4afa77:	ff 74 24 30          	push   0x30(%esp)
4afa7b:	e8 00 fc ff ff       	call   0x4af680
4afa80:	83 c4 14             	add    $0x14,%esp
4afa83:	85 c0                	test   %eax,%eax
4afa85:	0f 84 01 ff ff ff    	je     0x4af98c
4afa8b:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4afa8f:	85 ff                	test   %edi,%edi
4afa91:	7e 2b                	jle    0x4afabe
4afa93:	0f be 44 3c 23       	movsbl 0x23(%esp,%edi,1),%eax
4afa98:	4f                   	dec    %edi
4afa99:	50                   	push   %eax
4afa9a:	ff 74 24 20          	push   0x20(%esp)
4afa9e:	ff 74 24 20          	push   0x20(%esp)
4afaa2:	ff 74 24 20          	push   0x20(%esp)
4afaa6:	ff 74 24 30          	push   0x30(%esp)
4afaaa:	e8 d1 fb ff ff       	call   0x4af680
4afaaf:	83 c4 14             	add    $0x14,%esp
4afab2:	85 c0                	test   %eax,%eax
4afab4:	0f 84 d2 fe ff ff    	je     0x4af98c
4afaba:	85 ff                	test   %edi,%edi
4afabc:	7f d5                	jg     0x4afa93
4afabe:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
4afac3:	8b 7c 24 20          	mov    0x20(%esp),%edi
4afac7:	7e 33                	jle    0x4afafc
4afac9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4afad0:	6a 30                	push   $0x30
4afad2:	ff 74 24 20          	push   0x20(%esp)
4afad6:	ff 74 24 20          	push   0x20(%esp)
4afada:	ff 74 24 20          	push   0x20(%esp)
4afade:	57                   	push   %edi
4afadf:	e8 9c fb ff ff       	call   0x4af680
4afae4:	83 c4 14             	add    $0x14,%esp
4afae7:	85 c0                	test   %eax,%eax
4afae9:	0f 84 9d fe ff ff    	je     0x4af98c
4afaef:	8b 44 24 10          	mov    0x10(%esp),%eax
4afaf3:	48                   	dec    %eax
4afaf4:	89 44 24 10          	mov    %eax,0x10(%esp)
4afaf8:	85 c0                	test   %eax,%eax
4afafa:	7f d4                	jg     0x4afad0
4afafc:	85 f6                	test   %esi,%esi
4afafe:	79 24                	jns    0x4afb24
4afb00:	6a 20                	push   $0x20
4afb02:	ff 74 24 20          	push   0x20(%esp)
4afb06:	ff 74 24 20          	push   0x20(%esp)
4afb0a:	ff 74 24 20          	push   0x20(%esp)
4afb0e:	57                   	push   %edi
4afb0f:	e8 6c fb ff ff       	call   0x4af680
4afb14:	83 c4 14             	add    $0x14,%esp
4afb17:	85 c0                	test   %eax,%eax
4afb19:	0f 84 6d fe ff ff    	je     0x4af98c
4afb1f:	83 c6 01             	add    $0x1,%esi
4afb22:	78 dc                	js     0x4afb00
4afb24:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4afb28:	b8 01 00 00 00       	mov    $0x1,%eax
4afb2d:	5f                   	pop    %edi
4afb2e:	5e                   	pop    %esi
4afb2f:	33 cc                	xor    %esp,%ecx
4afb31:	e8 a4 19 13 00       	call   0x5e14da
4afb36:	83 c4 48             	add    $0x48,%esp
4afb39:	c3                   	ret
4afb3a:	e8 c1 18 13 00       	call   0x5e1400
4afb3f:	cc                   	int3
4afb40:	b8 3c 00 00 00       	mov    $0x3c,%eax
4afb45:	e8 a6 19 13 00       	call   0x5e14f0
4afb4a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4afb4f:	33 c4                	xor    %esp,%eax
4afb51:	89 44 24 38          	mov    %eax,0x38(%esp)
4afb55:	8b 44 24 44          	mov    0x44(%esp),%eax
4afb59:	33 d2                	xor    %edx,%edx
4afb5b:	8b 4c 24 60          	mov    0x60(%esp),%ecx
4afb5f:	53                   	push   %ebx
4afb60:	8b 5c 24 54          	mov    0x54(%esp),%ebx
4afb64:	55                   	push   %ebp
4afb65:	8b 6c 24 48          	mov    0x48(%esp),%ebp
4afb69:	89 44 24 10          	mov    %eax,0x10(%esp)
4afb6d:	8b 44 24 50          	mov    0x50(%esp),%eax
4afb71:	56                   	push   %esi
4afb72:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4afb76:	be ad 57 6e 00       	mov    $0x6e57ad,%esi
4afb7b:	8b 44 24 58          	mov    0x58(%esp),%eax
4afb7f:	57                   	push   %edi
4afb80:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4afb84:	33 ff                	xor    %edi,%edi
4afb86:	33 c0                	xor    %eax,%eax
4afb88:	89 74 24 14          	mov    %esi,0x14(%esp)
4afb8c:	85 c9                	test   %ecx,%ecx
4afb8e:	89 44 24 10          	mov    %eax,0x10(%esp)
4afb92:	0f 48 ca             	cmovs  %edx,%ecx
4afb95:	8b 54 24 64          	mov    0x64(%esp),%edx
4afb99:	89 4c 24 70          	mov    %ecx,0x70(%esp)
4afb9d:	8b 4c 24 74          	mov    0x74(%esp),%ecx
4afba1:	f6 c1 40             	test   $0x40,%cl
4afba4:	75 3d                	jne    0x4afbe3
4afba6:	85 d2                	test   %edx,%edx
4afba8:	7f 16                	jg     0x4afbc0
4afbaa:	7c 04                	jl     0x4afbb0
4afbac:	85 db                	test   %ebx,%ebx
4afbae:	73 10                	jae    0x4afbc0
4afbb0:	f7 db                	neg    %ebx
4afbb2:	c7 44 24 10 2d 00 00 	movl   $0x2d,0x10(%esp)
4afbb9:	00
4afbba:	13 d0                	adc    %eax,%edx
4afbbc:	f7 da                	neg    %edx
4afbbe:	eb 23                	jmp    0x4afbe3
4afbc0:	f6 c1 02             	test   $0x2,%cl
4afbc3:	74 0a                	je     0x4afbcf
4afbc5:	c7 44 24 10 2b 00 00 	movl   $0x2b,0x10(%esp)
4afbcc:	00
4afbcd:	eb 14                	jmp    0x4afbe3
4afbcf:	f6 c1 04             	test   $0x4,%cl
4afbd2:	c7 44 24 10 20 00 00 	movl   $0x20,0x10(%esp)
4afbd9:	00
4afbda:	0f 45 44 24 10       	cmovne 0x10(%esp),%eax
4afbdf:	89 44 24 10          	mov    %eax,0x10(%esp)
4afbe3:	8b 44 24 68          	mov    0x68(%esp),%eax
4afbe7:	f6 c1 08             	test   $0x8,%cl
4afbea:	74 25                	je     0x4afc11
4afbec:	83 f8 08             	cmp    $0x8,%eax
4afbef:	75 0b                	jne    0x4afbfc
4afbf1:	be 9c 9b 6a 00       	mov    $0x6a9b9c,%esi
4afbf6:	89 74 24 14          	mov    %esi,0x14(%esp)
4afbfa:	eb 15                	jmp    0x4afc11
4afbfc:	83 7c 24 68 10       	cmpl   $0x10,0x68(%esp)
4afc01:	b8 a0 9b 6a 00       	mov    $0x6a9ba0,%eax
4afc06:	0f 45 c6             	cmovne %esi,%eax
4afc09:	89 44 24 14          	mov    %eax,0x14(%esp)
4afc0d:	8b 44 24 68          	mov    0x68(%esp),%eax
4afc11:	f6 c1 20             	test   $0x20,%cl
4afc14:	c7 44 24 24 b8 9b 6a 	movl   $0x6a9bb8,0x24(%esp)
4afc1b:	00
4afc1c:	b9 01 00 00 00       	mov    $0x1,%ecx
4afc21:	8b f7                	mov    %edi,%esi
4afc23:	0f 45 f1             	cmovne %ecx,%esi
4afc26:	b9 a4 9b 6a 00       	mov    $0x6a9ba4,%ecx
4afc2b:	85 f6                	test   %esi,%esi
4afc2d:	0f 44 4c 24 24       	cmove  0x24(%esp),%ecx
4afc32:	8b f1                	mov    %ecx,%esi
4afc34:	6a 00                	push   $0x0
4afc36:	50                   	push   %eax
4afc37:	52                   	push   %edx
4afc38:	53                   	push   %ebx
4afc39:	e8 42 22 13 00       	call   0x5e1e80
4afc3e:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4afc42:	8b d8                	mov    %eax,%ebx
4afc44:	8a 0c 31             	mov    (%ecx,%esi,1),%cl
4afc47:	88 4c 3c 2c          	mov    %cl,0x2c(%esp,%edi,1)
4afc4b:	8b cb                	mov    %ebx,%ecx
4afc4d:	47                   	inc    %edi
4afc4e:	0b ca                	or     %edx,%ecx
4afc50:	74 09                	je     0x4afc5b
4afc52:	8b 44 24 68          	mov    0x68(%esp),%eax
4afc56:	83 ff 1a             	cmp    $0x1a,%edi
4afc59:	7c d9                	jl     0x4afc34
4afc5b:	8b 74 24 14          	mov    0x14(%esp),%esi
4afc5f:	83 ff 1a             	cmp    $0x1a,%edi
4afc62:	75 07                	jne    0x4afc6b
4afc64:	bf 19 00 00 00       	mov    $0x19,%edi
4afc69:	eb 06                	jmp    0x4afc71
4afc6b:	0f 83 89 01 00 00    	jae    0x4afdfa
4afc71:	8b 54 24 70          	mov    0x70(%esp),%edx
4afc75:	8b ce                	mov    %esi,%ecx
4afc77:	8b da                	mov    %edx,%ebx
4afc79:	c6 44 3c 2c 00       	movb   $0x0,0x2c(%esp,%edi,1)
4afc7e:	2b df                	sub    %edi,%ebx
4afc80:	8d 71 01             	lea    0x1(%ecx),%esi
4afc83:	8a 01                	mov    (%ecx),%al
4afc85:	41                   	inc    %ecx
4afc86:	84 c0                	test   %al,%al