1405a26b3:	48 c1 fa 03          	sar    $0x3,%rdx
1405a26b7:	48 8b c2             	mov    %rdx,%rax
1405a26ba:	48 c1 e8 3f          	shr    $0x3f,%rax
1405a26be:	48 03 d0             	add    %rax,%rdx
1405a26c1:	48 83 fa 02          	cmp    $0x2,%rdx
1405a26c5:	0f 82 da 00 00 00    	jb     0x1405a27a5
1405a26cb:	48 85 c9             	test   %rcx,%rcx
1405a26ce:	74 09                	je     0x1405a26d9
1405a26d0:	80 79 28 02          	cmpb   $0x2,0x28(%rcx)
1405a26d4:	48 8b f1             	mov    %rcx,%rsi
1405a26d7:	74 03                	je     0x1405a26dc
1405a26d9:	48 8b f5             	mov    %rbp,%rsi
1405a26dc:	48 8d 51 30          	lea    0x30(%rcx),%rdx
1405a26e0:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1405a26e5:	e8 06 2c 00 00       	call   0x1405a52f0
1405a26ea:	90                   	nop
1405a26eb:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1405a26f0:	48 85 f6             	test   %rsi,%rsi
1405a26f3:	0f 84 a7 00 00 00    	je     0x1405a27a0
1405a26f9:	48 85 ff             	test   %rdi,%rdi
1405a26fc:	0f 84 9e 00 00 00    	je     0x1405a27a0
1405a2702:	b9 18 00 00 00       	mov    $0x18,%ecx
1405a2707:	e8 fc 89 87 00       	call   0x140e1b108
1405a270c:	48 8b c8             	mov    %rax,%rcx
1405a270f:	48 85 c0             	test   %rax,%rax
1405a2712:	74 14                	je     0x1405a2728
1405a2714:	48 8d 05 8d 01 a7 00 	lea    0xa7018d(%rip),%rax        # 0x1410128a8
1405a271b:	48 89 01             	mov    %rax,(%rcx)
1405a271e:	48 89 69 08          	mov    %rbp,0x8(%rcx)
1405a2722:	48 89 69 10          	mov    %rbp,0x10(%rcx)
1405a2726:	eb 03                	jmp    0x1405a272b
1405a2728:	48 8b cd             	mov    %rbp,%rcx
1405a272b:	48 8b 06             	mov    (%rsi),%rax
1405a272e:	48 89 41 10          	mov    %rax,0x10(%rcx)
1405a2732:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1405a2737:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
1405a273c:	48 89 41 08          	mov    %rax,0x8(%rcx)
1405a2740:	48 89 0b             	mov    %rcx,(%rbx)
1405a2743:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1405a2748:	48 85 ff             	test   %rdi,%rdi
1405a274b:	74 5b                	je     0x1405a27a8
1405a274d:	48 8b 0f             	mov    (%rdi),%rcx
1405a2750:	48 85 c9             	test   %rcx,%rcx
1405a2753:	74 3c                	je     0x1405a2791
1405a2755:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1405a2759:	48 2b d1             	sub    %rcx,%rdx
1405a275c:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
1405a2760:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a2767:	72 18                	jb     0x1405a2781
1405a2769:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405a276d:	49 2b c8             	sub    %r8,%rcx
1405a2770:	48 83 c2 27          	add    $0x27,%rdx
1405a2774:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405a2778:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a277c:	77 42                	ja     0x1405a27c0
1405a277e:	49 8b c8             	mov    %r8,%rcx
1405a2781:	e8 be 89 87 00       	call   0x140e1b144
1405a2786:	48 89 2f             	mov    %rbp,(%rdi)
1405a2789:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
1405a278d:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
1405a2791:	ba 20 00 00 00       	mov    $0x20,%edx
1405a2796:	48 8b cf             	mov    %rdi,%rcx
1405a2799:	e8 a6 89 87 00       	call   0x140e1b144
1405a279e:	eb 08                	jmp    0x1405a27a8
1405a27a0:	48 89 2b             	mov    %rbp,(%rbx)
1405a27a3:	eb a3                	jmp    0x1405a2748
1405a27a5:	48 89 2b             	mov    %rbp,(%rbx)
1405a27a8:	48 8b c3             	mov    %rbx,%rax
1405a27ab:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1405a27b0:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1405a27b5:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1405a27ba:	48 83 c4 30          	add    $0x30,%rsp
1405a27be:	5f                   	pop    %rdi
1405a27bf:	c3                   	ret
1405a27c0:	e8 df 79 88 00       	call   0x140e2a1a4
1405a27c5:	cc                   	int3
1405a27c6:	cc                   	int3
1405a27c7:	cc                   	int3
1405a27c8:	cc                   	int3
1405a27c9:	cc                   	int3
1405a27ca:	cc                   	int3
1405a27cb:	cc                   	int3
1405a27cc:	cc                   	int3
1405a27cd:	cc                   	int3
1405a27ce:	cc                   	int3
1405a27cf:	cc                   	int3
1405a27d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405a27d5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a27da:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a27df:	41 56                	push   %r14
1405a27e1:	48 83 ec 20          	sub    $0x20,%rsp
1405a27e5:	33 ed                	xor    %ebp,%ebp
1405a27e7:	4c 8b f2             	mov    %rdx,%r14
1405a27ea:	48 89 29             	mov    %rbp,(%rcx)
1405a27ed:	48 8b f1             	mov    %rcx,%rsi
1405a27f0:	48 89 69 08          	mov    %rbp,0x8(%rcx)
1405a27f4:	48 89 69 10          	mov    %rbp,0x10(%rcx)
1405a27f8:	48 89 69 18          	mov    %rbp,0x18(%rcx)
1405a27fc:	48 8b 5a 10          	mov    0x10(%rdx),%rbx
1405a2800:	48 2b 5a 08          	sub    0x8(%rdx),%rbx
1405a2804:	0f 84 8b 00 00 00    	je     0x1405a2895
1405a280a:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
1405a2811:	ff ff 7f
1405a2814:	48 3b d8             	cmp    %rax,%rbx
1405a2817:	0f 87 bf 00 00 00    	ja     0x1405a28dc
1405a281d:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
1405a2824:	72 2c                	jb     0x1405a2852
1405a2826:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
1405a282a:	48 3b cb             	cmp    %rbx,%rcx
1405a282d:	0f 86 af 00 00 00    	jbe    0x1405a28e2
1405a2833:	e8 d0 88 87 00       	call   0x140e1b108
1405a2838:	48 8b c8             	mov    %rax,%rcx
1405a283b:	48 85 c0             	test   %rax,%rax
1405a283e:	0f 84 92 00 00 00    	je     0x1405a28d6
1405a2844:	48 83 c0 27          	add    $0x27,%rax
1405a2848:	48 83 e0 e0          	and    $0xffffffffffffffe0,%rax
1405a284c:	48 89 48 f8          	mov    %rcx,-0x8(%rax)
1405a2850:	eb 08                	jmp    0x1405a285a
1405a2852:	48 8b cb             	mov    %rbx,%rcx
1405a2855:	e8 ae 88 87 00       	call   0x140e1b108
1405a285a:	48 89 46 08          	mov    %rax,0x8(%rsi)
1405a285e:	48 89 46 10          	mov    %rax,0x10(%rsi)
1405a2862:	48 03 c3             	add    %rbx,%rax
1405a2865:	48 89 46 18          	mov    %rax,0x18(%rsi)
1405a2869:	49 8b 56 08          	mov    0x8(%r14),%rdx
1405a286d:	49 8b 5e 10          	mov    0x10(%r14),%rbx
1405a2871:	48 2b da             	sub    %rdx,%rbx
1405a2874:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1405a2879:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
1405a287d:	4c 8b c3             	mov    %rbx,%r8
1405a2880:	48 8b cf             	mov    %rdi,%rcx
1405a2883:	e8 88 c7 93 00       	call   0x140edf010
1405a2888:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
1405a288c:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1405a2891:	48 89 46 10          	mov    %rax,0x10(%rsi)
1405a2895:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405a289a:	48 89 6e 20          	mov    %rbp,0x20(%rsi)
1405a289e:	48 89 6e 28          	mov    %rbp,0x28(%rsi)
1405a28a2:	89 6e 30             	mov    %ebp,0x30(%rsi)
1405a28a5:	49 8b 46 20          	mov    0x20(%r14),%rax
1405a28a9:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1405a28ae:	48 89 46 20          	mov    %rax,0x20(%rsi)
1405a28b2:	49 8b 46 28          	mov    0x28(%r14),%rax
1405a28b6:	48 89 46 28          	mov    %rax,0x28(%rsi)
1405a28ba:	49 8b 06             	mov    (%r14),%rax
1405a28bd:	48 89 06             	mov    %rax,(%rsi)
1405a28c0:	41 8b 46 30          	mov    0x30(%r14),%eax
1405a28c4:	89 46 30             	mov    %eax,0x30(%rsi)
1405a28c7:	48 8b c6             	mov    %rsi,%rax
1405a28ca:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1405a28cf:	48 83 c4 20          	add    $0x20,%rsp
1405a28d3:	41 5e                	pop    %r14
1405a28d5:	c3                   	ret
1405a28d6:	e8 c9 78 88 00       	call   0x140e2a1a4
1405a28db:	cc                   	int3
1405a28dc:	e8 af ac bf ff       	call   0x14019d590
1405a28e1:	cc                   	int3
1405a28e2:	e8 a9 a8 bf ff       	call   0x14019d190
1405a28e7:	cc                   	int3
1405a28e8:	cc                   	int3
1405a28e9:	cc                   	int3
1405a28ea:	cc                   	int3
1405a28eb:	cc                   	int3
1405a28ec:	cc                   	int3
1405a28ed:	cc                   	int3
1405a28ee:	cc                   	int3
1405a28ef:	cc                   	int3
1405a28f0:	48 8b c4             	mov    %rsp,%rax
1405a28f3:	48 89 58 10          	mov    %rbx,0x10(%rax)
1405a28f7:	48 89 48 08          	mov    %rcx,0x8(%rax)
1405a28fb:	57                   	push   %rdi
1405a28fc:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1405a2903:	0f 29 70 e8          	movaps %xmm6,-0x18(%rax)
1405a2907:	0f 29 78 d8          	movaps %xmm7,-0x28(%rax)
1405a290b:	44 0f 29 40 c8       	movaps %xmm8,-0x38(%rax)
1405a2910:	44 0f 29 48 b8       	movaps %xmm9,-0x48(%rax)
1405a2915:	44 0f 29 50 a8       	movaps %xmm10,-0x58(%rax)
1405a291a:	44 0f 29 58 98       	movaps %xmm11,-0x68(%rax)
1405a291f:	44 0f 28 da          	movaps %xmm2,%xmm11
1405a2923:	0f 28 f1             	movaps %xmm1,%xmm6
1405a2926:	48 8b f9             	mov    %rcx,%rdi
1405a2929:	33 c0                	xor    %eax,%eax
1405a292b:	48 89 01             	mov    %rax,(%rcx)
1405a292e:	48 89 41 08          	mov    %rax,0x8(%rcx)
1405a2932:	48 89 41 10          	mov    %rax,0x10(%rcx)
1405a2936:	48 89 41 18          	mov    %rax,0x18(%rcx)
1405a293a:	48 89 41 20          	mov    %rax,0x20(%rcx)
1405a293e:	48 89 41 28          	mov    %rax,0x28(%rcx)
1405a2942:	89 41 30             	mov    %eax,0x30(%rcx)
1405a2945:	f2 0f 10 05 03 00 a7 	movsd  0xa70003(%rip),%xmm0        # 0x141012950
1405a294c:	00
1405a294d:	e8 3e e3 89 00       	call   0x140e40c90
1405a2952:	44 0f 28 c8          	movaps %xmm0,%xmm9
1405a2956:	0f 28 c6             	movaps %xmm6,%xmm0
1405a2959:	e8 32 e3 89 00       	call   0x140e40c90
1405a295e:	f2 44 0f 5c c8       	subsd  %xmm0,%xmm9
1405a2963:	f2 45 0f 58 c9       	addsd  %xmm9,%xmm9
1405a2968:	f2 0f 10 35 f0 93 a5 	movsd  0xa593f0(%rip),%xmm6        # 0x140ffbd60
1405a296f:	00
1405a2970:	0f 28 c6             	movaps %xmm6,%xmm0
1405a2973:	e8 18 e3 89 00       	call   0x140e40c90
1405a2978:	f2 44 0f 5e c8       	divsd  %xmm0,%xmm9
1405a297d:	41 0f 28 c1          	movaps %xmm9,%xmm0
1405a2981:	e8 4e e2 89 00       	call   0x140e40bd4
1405a2986:	f2 0f 2c d8          	cvttsd2si %xmm0,%ebx
1405a298a:	0f 57 c9             	xorps  %xmm1,%xmm1
1405a298d:	66 0f 2e ce          	ucomisd %xmm6,%xmm1
1405a2991:	77 07                	ja     0x1405a299a
1405a2993:	66 44 0f 51 c6       	sqrtpd %xmm6,%xmm8
1405a2998:	eb 0c                	jmp    0x1405a29a6
1405a299a:	0f 28 c6             	movaps %xmm6,%xmm0
1405a299d:	e8 1a e8 89 00       	call   0x140e411bc
1405a29a2:	44 0f 28 c0          	movaps %xmm0,%xmm8
1405a29a6:	f2 44 0f 10 15 21 f4 	movsd  0xa3f421(%rip),%xmm10        # 0x140fe1dd0
1405a29ad:	a3 00
1405a29af:	90                   	nop
1405a29b0:	ff c3                	inc    %ebx
1405a29b2:	66 0f 6e fb          	movd   %ebx,%xmm7
1405a29b6:	f3 0f e6 ff          	cvtdq2pd %xmm7,%xmm7
1405a29ba:	0f 28 cf             	movaps %xmm7,%xmm1
1405a29bd:	f2 41 0f 5c c9       	subsd  %xmm9,%xmm1
1405a29c2:	f2 41 0f 59 ca       	mulsd  %xmm10,%xmm1
1405a29c7:	0f 28 c6             	movaps %xmm6,%xmm0
1405a29ca:	e8 f1 c0 89 00       	call   0x140e3eac0
1405a29cf:	f2 41 0f 5e c0       	divsd  %xmm8,%xmm0
1405a29d4:	e8 67 e0 89 00       	call   0x140e40a40
1405a29d9:	66 44 0f 2f d8       	comisd %xmm0,%xmm11
1405a29de:	77 d0                	ja     0x1405a29b0
1405a29e0:	0f 28 cf             	movaps %xmm7,%xmm1
1405a29e3:	0f 28 c6             	movaps %xmm6,%xmm0
1405a29e6:	e8 d5 c0 89 00       	call   0x140e3eac0
1405a29eb:	33 c0                	xor    %eax,%eax
1405a29ed:	f2 0f 10 0d 63 be a0 	movsd  0xa0be63(%rip),%xmm1        # 0x140fae858
1405a29f4:	00
1405a29f5:	66 0f 2f c1          	comisd %xmm1,%xmm0
1405a29f9:	72 17                	jb     0x1405a2a12
1405a29fb:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
1405a29ff:	66 0f 2f c1          	comisd %xmm1,%xmm0
1405a2a03:	73 0d                	jae    0x1405a2a12
1405a2a05:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
1405a2a0c:	00 00 80
1405a2a0f:	48 8b c1             	mov    %rcx,%rax
1405a2a12:	f2 48 0f 2c d0       	cvttsd2si %xmm0,%rdx
1405a2a17:	48 03 d0             	add    %rax,%rdx
1405a2a1a:	48 8b cf             	mov    %rdi,%rcx
1405a2a1d:	e8 0e 01 00 00       	call   0x1405a2b30
1405a2a22:	90                   	nop
1405a2a23:	48 8b c7             	mov    %rdi,%rax
1405a2a26:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
1405a2a2d:	00
1405a2a2e:	49 8b 5b 18          	mov    0x18(%r11),%rbx
1405a2a32:	0f 28 74 24 70       	movaps 0x70(%rsp),%xmm6
1405a2a37:	0f 28 7c 24 60       	movaps 0x60(%rsp),%xmm7
1405a2a3c:	45 0f 28 43 d0       	movaps -0x30(%r11),%xmm8
1405a2a41:	45 0f 28 4b c0       	movaps -0x40(%r11),%xmm9
1405a2a46:	45 0f 28 53 b0       	movaps -0x50(%r11),%xmm10
1405a2a4b:	45 0f 28 5b a0       	movaps -0x60(%r11),%xmm11
1405a2a50:	49 8b e3             	mov    %r11,%rsp
1405a2a53:	5f                   	pop    %rdi
1405a2a54:	c3                   	ret
1405a2a55:	cc                   	int3
1405a2a56:	cc                   	int3
1405a2a57:	cc                   	int3
1405a2a58:	cc                   	int3
1405a2a59:	cc                   	int3
1405a2a5a:	cc                   	int3
1405a2a5b:	cc                   	int3
1405a2a5c:	cc                   	int3
1405a2a5d:	cc                   	int3
1405a2a5e:	cc                   	int3
1405a2a5f:	cc                   	int3
1405a2a60:	40 53                	rex push %rbx
1405a2a62:	48 83 ec 20          	sub    $0x20,%rsp
1405a2a66:	48 8b d9             	mov    %rcx,%rbx
1405a2a69:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1405a2a6d:	48 85 c9             	test   %rcx,%rcx
1405a2a70:	74 3b                	je     0x1405a2aad
1405a2a72:	48 8b 53 18          	mov    0x18(%rbx),%rdx
1405a2a76:	48 2b d1             	sub    %rcx,%rdx
1405a2a79:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a2a80:	72 18                	jb     0x1405a2a9a
1405a2a82:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405a2a86:	48 83 c2 27          	add    $0x27,%rdx
1405a2a8a:	49 2b c8             	sub    %r8,%rcx
1405a2a8d:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405a2a91:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a2a95:	77 1c                	ja     0x1405a2ab3
1405a2a97:	49 8b c8             	mov    %r8,%rcx
1405a2a9a:	e8 a5 86 87 00       	call   0x140e1b144
1405a2a9f:	33 c0                	xor    %eax,%eax
1405a2aa1:	48 89 43 08          	mov    %rax,0x8(%rbx)
1405a2aa5:	48 89 43 10          	mov    %rax,0x10(%rbx)
1405a2aa9:	48 89 43 18          	mov    %rax,0x18(%rbx)
1405a2aad:	48 83 c4 20          	add    $0x20,%rsp
1405a2ab1:	5b                   	pop    %rbx
1405a2ab2:	c3                   	ret
1405a2ab3:	e8 ec 76 88 00       	call   0x140e2a1a4
1405a2ab8:	cc                   	int3
1405a2ab9:	cc                   	int3
1405a2aba:	cc                   	int3
1405a2abb:	cc                   	int3
1405a2abc:	cc                   	int3
1405a2abd:	cc                   	int3
1405a2abe:	cc                   	int3
1405a2abf:	cc                   	int3
1405a2ac0:	4c 8b 59 08          	mov    0x8(%rcx),%r11
1405a2ac4:	4c 8b c2             	mov    %rdx,%r8
1405a2ac7:	33 d2                	xor    %edx,%edx
1405a2ac9:	49 8b c0             	mov    %r8,%rax
1405a2acc:	48 f7 31             	divq   (%rcx)
1405a2acf:	4c 8b d1             	mov    %rcx,%r10
1405a2ad2:	4c 03 da             	add    %rdx,%r11
1405a2ad5:	4c 2b c2             	sub    %rdx,%r8
1405a2ad8:	41 0f b6 13          	movzbl (%r11),%edx
1405a2adc:	84 d2                	test   %dl,%dl
1405a2ade:	75 08                	jne    0x1405a2ae8
1405a2ae0:	48 ff 49 20          	decq   0x20(%rcx)
1405a2ae4:	41 0f b6 13          	movzbl (%r11),%edx
1405a2ae8:	44 8b 49 30          	mov    0x30(%rcx),%r9d
1405a2aec:	41 8b c9             	mov    %r9d,%ecx
1405a2aef:	49 d3 e8             	shr    %cl,%r8
1405a2af2:	4d 85 c0             	test   %r8,%r8
1405a2af5:	75 04                	jne    0x1405a2afb
1405a2af7:	33 c0                	xor    %eax,%eax
1405a2af9:	eb 1e                	jmp    0x1405a2b19
1405a2afb:	b8 01 00 00 00       	mov    $0x1,%eax
1405a2b00:	4c 3b c0             	cmp    %rax,%r8
1405a2b03:	74 14                	je     0x1405a2b19
1405a2b05:	49 d1 e8             	shr    $1,%r8
1405a2b08:	ff c0                	inc    %eax
1405a2b0a:	49 83 f8 01          	cmp    $0x1,%r8
1405a2b0e:	75 f5                	jne    0x1405a2b05
1405a2b10:	45 0f b6 4a 30       	movzbl 0x30(%r10),%r9d
1405a2b15:	41 0f b6 13          	movzbl (%r11),%edx
1405a2b19:	b9 41 00 00 00       	mov    $0x41,%ecx
1405a2b1e:	41 2a c9             	sub    %r9b,%cl
1405a2b21:	2a c8                	sub    %al,%cl
1405a2b23:	3a ca                	cmp    %dl,%cl
1405a2b25:	76 03                	jbe    0x1405a2b2a
1405a2b27:	41 88 0b             	mov    %cl,(%r11)
1405a2b2a:	c3                   	ret
1405a2b2b:	cc                   	int3
1405a2b2c:	cc                   	int3
1405a2b2d:	cc                   	int3
1405a2b2e:	cc                   	int3
1405a2b2f:	cc                   	int3
1405a2b30:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1405a2b35:	56                   	push   %rsi
1405a2b36:	48 83 ec 30          	sub    $0x30,%rsp
1405a2b3a:	48 89 11             	mov    %rdx,(%rcx)