140a5659f:	84 c0                	test   %al,%al
140a565a1:	0f 84 ae 01 00 00    	je     0x140a56755
140a565a7:	0f ca                	bswap  %edx
140a565a9:	85 d2                	test   %edx,%edx
140a565ab:	0f 84 90 01 00 00    	je     0x140a56741
140a565b1:	81 fa 00 00 80 7f    	cmp    $0x7f800000,%edx
140a565b7:	0f 84 6b 01 00 00    	je     0x140a56728
140a565bd:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
140a565c3:	0f 84 46 01 00 00    	je     0x140a5670f
140a565c9:	81 fa 00 00 80 ff    	cmp    $0xff800000,%edx
140a565cf:	0f 84 21 01 00 00    	je     0x140a566f6
140a565d5:	83 fa ff             	cmp    $0xffffffff,%edx
140a565d8:	0f 84 ff 00 00 00    	je     0x140a566dd
140a565de:	8b c2                	mov    %edx,%eax
140a565e0:	25 ff ff 7f 00       	and    $0x7fffff,%eax
140a565e5:	0f 57 c9             	xorps  %xmm1,%xmm1
140a565e8:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140a565ed:	f3 0f 59 0d 3b cc 5e 	mulss  0x5ecc3b(%rip),%xmm1        # 0x141043230
140a565f4:	00
140a565f5:	f3 0f 58 0d 4f b9 55 	addss  0x55b94f(%rip),%xmm1        # 0x140fb1f4c
140a565fc:	00
140a565fd:	8b c2                	mov    %edx,%eax
140a565ff:	c1 f8 17             	sar    $0x17,%eax
140a56602:	0f b6 c8             	movzbl %al,%ecx
140a56605:	83 e9 7f             	sub    $0x7f,%ecx
140a56608:	83 f9 08             	cmp    $0x8,%ecx
140a5660b:	7c 3f                	jl     0x140a5664c
140a5660d:	8d 41 f8             	lea    -0x8(%rcx),%eax
140a56610:	c1 e8 03             	shr    $0x3,%eax
140a56613:	ff c0                	inc    %eax
140a56615:	44 8b c0             	mov    %eax,%r8d
140a56618:	f7 d8                	neg    %eax
140a5661a:	8d 0c c1             	lea    (%rcx,%rax,8),%ecx
140a5661d:	0f 1f 00             	nopl   (%rax)
140a56620:	0f 28 c1             	movaps %xmm1,%xmm0
140a56623:	f3 0f 58 c1          	addss  %xmm1,%xmm0
140a56627:	0f 28 c8             	movaps %xmm0,%xmm1
140a5662a:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a5662e:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a56632:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a56636:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a5663a:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a5663e:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a56642:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a56646:	49 83 e8 01          	sub    $0x1,%r8
140a5664a:	75 d4                	jne    0x140a56620
140a5664c:	85 c9                	test   %ecx,%ecx
140a5664e:	7e 0a                	jle    0x140a5665a
140a56650:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140a56654:	ff c9                	dec    %ecx
140a56656:	85 c9                	test   %ecx,%ecx
140a56658:	7f f6                	jg     0x140a56650
140a5665a:	8b c1                	mov    %ecx,%eax
140a5665c:	f7 d8                	neg    %eax
140a5665e:	f3 0f 10 05 ba fa 5e 	movss  0x5efaba(%rip),%xmm0        # 0x141046120
140a56665:	00
140a56666:	83 f8 08             	cmp    $0x8,%eax
140a56669:	7c 3b                	jl     0x140a566a6
140a5666b:	b8 f8 ff ff ff       	mov    $0xfffffff8,%eax
140a56670:	2b c1                	sub    %ecx,%eax
140a56672:	c1 e8 03             	shr    $0x3,%eax
140a56675:	ff c0                	inc    %eax
140a56677:	44 8b c0             	mov    %eax,%r8d
140a5667a:	8d 0c c1             	lea    (%rcx,%rax,8),%ecx
140a5667d:	0f 1f 00             	nopl   (%rax)
140a56680:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a56684:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a56688:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a5668c:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a56690:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a56694:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a56698:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a5669c:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a566a0:	49 83 e8 01          	sub    $0x1,%r8
140a566a4:	75 da                	jne    0x140a56680
140a566a6:	85 c9                	test   %ecx,%ecx
140a566a8:	79 0f                	jns    0x140a566b9
140a566aa:	f7 d9                	neg    %ecx
140a566ac:	48 63 c1             	movslq %ecx,%rax
140a566af:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140a566b3:	48 83 e8 01          	sub    $0x1,%rax
140a566b7:	75 f6                	jne    0x140a566af
140a566b9:	c1 fa 1f             	sar    $0x1f,%edx
140a566bc:	83 e2 fe             	and    $0xfffffffe,%edx
140a566bf:	ff c2                	inc    %edx
140a566c1:	66 0f 6e c2          	movd   %edx,%xmm0
140a566c5:	0f 5b c0             	cvtdq2ps %xmm0,%xmm0
140a566c8:	f3 0f 59 c1          	mulss  %xmm1,%xmm0
140a566cc:	f3 0f 11 07          	movss  %xmm0,(%rdi)
140a566d0:	b0 01                	mov    $0x1,%al
140a566d2:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a566d7:	48 83 c4 20          	add    $0x20,%rsp
140a566db:	5f                   	pop    %rdi
140a566dc:	c3                   	ret
140a566dd:	f3 0f 10 05 3f 8a 62 	movss  0x628a3f(%rip),%xmm0        # 0x14107f124
140a566e4:	00
140a566e5:	f3 0f 11 07          	movss  %xmm0,(%rdi)
140a566e9:	b0 01                	mov    $0x1,%al
140a566eb:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a566f0:	48 83 c4 20          	add    $0x20,%rsp
140a566f4:	5f                   	pop    %rdi
140a566f5:	c3                   	ret
140a566f6:	f3 0f 10 05 3a d4 5f 	movss  0x5fd43a(%rip),%xmm0        # 0x141053b38
140a566fd:	00
140a566fe:	f3 0f 11 07          	movss  %xmm0,(%rdi)
140a56702:	b0 01                	mov    $0x1,%al
140a56704:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a56709:	48 83 c4 20          	add    $0x20,%rsp
140a5670d:	5f                   	pop    %rdi
140a5670e:	c3                   	ret
140a5670f:	f3 0f 10 05 11 8a 62 	movss  0x628a11(%rip),%xmm0        # 0x14107f128
140a56716:	00
140a56717:	f3 0f 11 07          	movss  %xmm0,(%rdi)
140a5671b:	b0 01                	mov    $0x1,%al
140a5671d:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a56722:	48 83 c4 20          	add    $0x20,%rsp
140a56726:	5f                   	pop    %rdi
140a56727:	c3                   	ret
140a56728:	f3 0f 10 05 fc 89 62 	movss  0x6289fc(%rip),%xmm0        # 0x14107f12c
140a5672f:	00
140a56730:	f3 0f 11 07          	movss  %xmm0,(%rdi)
140a56734:	b0 01                	mov    $0x1,%al
140a56736:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a5673b:	48 83 c4 20          	add    $0x20,%rsp
140a5673f:	5f                   	pop    %rdi
140a56740:	c3                   	ret
140a56741:	0f 57 c0             	xorps  %xmm0,%xmm0
140a56744:	f3 0f 11 07          	movss  %xmm0,(%rdi)
140a56748:	b0 01                	mov    $0x1,%al
140a5674a:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a5674f:	48 83 c4 20          	add    $0x20,%rsp
140a56753:	5f                   	pop    %rdi
140a56754:	c3                   	ret
140a56755:	32 c0                	xor    %al,%al
140a56757:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a5675c:	48 83 c4 20          	add    $0x20,%rsp
140a56760:	5f                   	pop    %rdi
140a56761:	c3                   	ret
140a56762:	cc                   	int3
140a56763:	cc                   	int3
140a56764:	cc                   	int3
140a56765:	cc                   	int3
140a56766:	cc                   	int3
140a56767:	cc                   	int3
140a56768:	cc                   	int3
140a56769:	cc                   	int3
140a5676a:	cc                   	int3
140a5676b:	cc                   	int3
140a5676c:	cc                   	int3
140a5676d:	cc                   	int3
140a5676e:	cc                   	int3
140a5676f:	cc                   	int3
140a56770:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a56775:	57                   	push   %rdi
140a56776:	48 83 ec 20          	sub    $0x20,%rsp
140a5677a:	48 8b fa             	mov    %rdx,%rdi
140a5677d:	48 8b d9             	mov    %rcx,%rbx
140a56780:	33 c0                	xor    %eax,%eax
140a56782:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140a56787:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140a5678b:	48 8d 42 08          	lea    0x8(%rdx),%rax
140a5678f:	48 3b 41 18          	cmp    0x18(%rcx),%rax
140a56793:	76 33                	jbe    0x140a567c8
140a56795:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5679b:	b2 18                	mov    $0x18,%dl
140a5679d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a567a2:	e8 39 08 fb ff       	call   0x140a06fe0
140a567a7:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a567ab:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140a567b0:	e8 3b 85 f6 ff       	call   0x1409becf0
140a567b5:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a567ba:	e8 31 8a f6 ff       	call   0x1409bf1f0
140a567bf:	32 c0                	xor    %al,%al
140a567c1:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140a567c6:	eb 0a                	jmp    0x140a567d2
140a567c8:	48 8b 12             	mov    (%rdx),%rdx
140a567cb:	48 83 41 10 08       	addq   $0x8,0x10(%rcx)
140a567d0:	b0 01                	mov    $0x1,%al
140a567d2:	84 c0                	test   %al,%al
140a567d4:	0f 84 03 02 00 00    	je     0x140a569dd
140a567da:	48 0f ca             	bswap  %rdx
140a567dd:	48 85 d2             	test   %rdx,%rdx
140a567e0:	0f 84 e3 01 00 00    	je     0x140a569c9
140a567e6:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
140a567ed:	00 f0 7f
140a567f0:	48 3b d0             	cmp    %rax,%rdx
140a567f3:	0f 84 b7 01 00 00    	je     0x140a569b0
140a567f9:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140a56800:	00 00 80
140a56803:	48 3b d0             	cmp    %rax,%rdx
140a56806:	0f 84 8b 01 00 00    	je     0x140a56997
140a5680c:	48 b8 00 00 00 00 00 	movabs $0xfff0000000000000,%rax
140a56813:	00 f0 ff
140a56816:	48 3b d0             	cmp    %rax,%rdx
140a56819:	0f 84 5f 01 00 00    	je     0x140a5697e
140a5681f:	48 83 fa ff          	cmp    $0xffffffffffffffff,%rdx
140a56823:	0f 84 3c 01 00 00    	je     0x140a56965
140a56829:	48 8b ca             	mov    %rdx,%rcx
140a5682c:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
140a56833:	ff 0f 00
140a56836:	48 23 c8             	and    %rax,%rcx
140a56839:	0f 57 c9             	xorps  %xmm1,%xmm1
140a5683c:	78 07                	js     0x140a56845
140a5683e:	f2 48 0f 2a c9       	cvtsi2sd %rcx,%xmm1
140a56843:	eb 15                	jmp    0x140a5685a
140a56845:	48 8b c1             	mov    %rcx,%rax
140a56848:	48 d1 e8             	shr    $1,%rax
140a5684b:	83 e1 01             	and    $0x1,%ecx
140a5684e:	48 0b c1             	or     %rcx,%rax
140a56851:	f2 48 0f 2a c8       	cvtsi2sd %rax,%xmm1
140a56856:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a5685a:	f2 0f 59 0d d6 c9 5e 	mulsd  0x5ec9d6(%rip),%xmm1        # 0x141043238
140a56861:	00
140a56862:	f2 0f 58 0d e6 b6 55 	addsd  0x55b6e6(%rip),%xmm1        # 0x140fb1f50
140a56869:	00
140a5686a:	48 8b ca             	mov    %rdx,%rcx
140a5686d:	48 c1 f9 34          	sar    $0x34,%rcx
140a56871:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
140a56877:	48 81 e9 ff 03 00 00 	sub    $0x3ff,%rcx
140a5687e:	48 83 f9 08          	cmp    $0x8,%rcx
140a56882:	7c 42                	jl     0x140a568c6
140a56884:	4c 8d 41 f8          	lea    -0x8(%rcx),%r8
140a56888:	49 c1 e8 03          	shr    $0x3,%r8
140a5688c:	49 ff c0             	inc    %r8
140a5688f:	49 8b c0             	mov    %r8,%rax
140a56892:	48 f7 d8             	neg    %rax
140a56895:	48 8d 0c c1          	lea    (%rcx,%rax,8),%rcx
140a56899:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140a568a0:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568a4:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568a8:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568ac:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568b0:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568b4:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568b8:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568bc:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568c0:	49 83 e8 01          	sub    $0x1,%r8
140a568c4:	75 da                	jne    0x140a568a0
140a568c6:	48 85 c9             	test   %rcx,%rcx
140a568c9:	7e 0c                	jle    0x140a568d7
140a568cb:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
140a568cf:	48 ff c9             	dec    %rcx
140a568d2:	48 85 c9             	test   %rcx,%rcx
140a568d5:	7f f4                	jg     0x140a568cb
140a568d7:	48 8b c1             	mov    %rcx,%rax
140a568da:	48 f7 d8             	neg    %rax
140a568dd:	f2 0f 10 05 eb b4 58 	movsd  0x58b4eb(%rip),%xmm0        # 0x140fe1dd0
140a568e4:	00
140a568e5:	48 83 f8 08          	cmp    $0x8,%rax
140a568e9:	7c 3b                	jl     0x140a56926
140a568eb:	48 c7 c0 f8 ff ff ff 	mov    $0xfffffffffffffff8,%rax
140a568f2:	48 2b c1             	sub    %rcx,%rax
140a568f5:	48 c1 e8 03          	shr    $0x3,%rax
140a568f9:	48 ff c0             	inc    %rax
140a568fc:	48 8d 0c c1          	lea    (%rcx,%rax,8),%rcx
140a56900:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a56904:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a56908:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a5690c:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a56910:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a56914:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a56918:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a5691c:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a56920:	48 83 e8 01          	sub    $0x1,%rax
140a56924:	75 da                	jne    0x140a56900
140a56926:	48 85 c9             	test   %rcx,%rcx
140a56929:	79 0d                	jns    0x140a56938
140a5692b:	48 f7 d9             	neg    %rcx
140a5692e:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
140a56932:	48 83 e9 01          	sub    $0x1,%rcx
140a56936:	75 f6                	jne    0x140a5692e
140a56938:	b8 01 00 00 00       	mov    $0x1,%eax
140a5693d:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
140a56942:	48 85 d2             	test   %rdx,%rdx
140a56945:	0f 48 c1             	cmovs  %ecx,%eax
140a56948:	66 0f 6e c0          	movd   %eax,%xmm0
140a5694c:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
140a56950:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
140a56954:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
140a56958:	b0 01                	mov    $0x1,%al
140a5695a:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a5695f:	48 83 c4 20          	add    $0x20,%rsp
140a56963:	5f                   	pop    %rdi
140a56964:	c3                   	ret
140a56965:	f2 0f 10 05 8b b6 5c 	movsd  0x5cb68b(%rip),%xmm0        # 0x141021ff8
140a5696c:	00
140a5696d:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
140a56971:	b0 01                	mov    $0x1,%al
140a56973:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a56978:	48 83 c4 20          	add    $0x20,%rsp
140a5697c:	5f                   	pop    %rdi
140a5697d:	c3                   	ret
140a5697e:	f2 0f 10 05 6a b6 5c 	movsd  0x5cb66a(%rip),%xmm0        # 0x141021ff0
140a56985:	00
140a56986:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
140a5698a:	b0 01                	mov    $0x1,%al
140a5698c:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a56991:	48 83 c4 20          	add    $0x20,%rsp
140a56995:	5f                   	pop    %rdi
140a56996:	c3                   	ret
140a56997:	f2 0f 10 05 a1 d1 5f 	movsd  0x5fd1a1(%rip),%xmm0        # 0x141053b40
140a5699e:	00
140a5699f:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
140a569a3:	b0 01                	mov    $0x1,%al
140a569a5:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a569aa:	48 83 c4 20          	add    $0x20,%rsp
140a569ae:	5f                   	pop    %rdi
140a569af:	c3                   	ret
140a569b0:	f2 0f 10 05 78 87 62 	movsd  0x628778(%rip),%xmm0        # 0x14107f130
140a569b7:	00
140a569b8:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
140a569bc:	b0 01                	mov    $0x1,%al
140a569be:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a569c3:	48 83 c4 20          	add    $0x20,%rsp
140a569c7:	5f                   	pop    %rdi
140a569c8:	c3                   	ret
140a569c9:	0f 57 c0             	xorps  %xmm0,%xmm0
140a569cc:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
140a569d0:	b0 01                	mov    $0x1,%al
140a569d2:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a569d7:	48 83 c4 20          	add    $0x20,%rsp
140a569db:	5f                   	pop    %rdi
140a569dc:	c3                   	ret
140a569dd:	32 c0                	xor    %al,%al
140a569df:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a569e4:	48 83 c4 20          	add    $0x20,%rsp
140a569e8:	5f                   	pop    %rdi
140a569e9:	c3                   	ret
140a569ea:	cc                   	int3
140a569eb:	cc                   	int3
140a569ec:	cc                   	int3
140a569ed:	cc                   	int3
140a569ee:	cc                   	int3
140a569ef:	cc                   	int3
140a569f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a569f5:	57                   	push   %rdi
140a569f6:	48 83 ec 20          	sub    $0x20,%rsp
140a569fa:	48 8b fa             	mov    %rdx,%rdi
140a569fd:	48 8b d9             	mov    %rcx,%rbx
140a56a00:	33 c0                	xor    %eax,%eax
140a56a02:	89 44 24 30          	mov    %eax,0x30(%rsp)
140a56a06:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a56a0a:	48 8d 41 04          	lea    0x4(%rcx),%rax
140a56a0e:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a56a12:	76 32                	jbe    0x140a56a46
140a56a14:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56a1a:	b2 18                	mov    $0x18,%dl
140a56a1c:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a56a21:	e8 ba 05 fb ff       	call   0x140a06fe0
140a56a26:	48 8d 4b 08          	lea    0x8(%rbx),%rcx