14006586e:	48 09 c8             	or     %rcx,%rax
140065871:	0f 57 c0             	xorps  %xmm0,%xmm0
140065874:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140065879:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14006587d:	eb 08                	jmp    0x140065887
14006587f:	0f 57 c0             	xorps  %xmm0,%xmm0
140065882:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140065887:	f3 0f 5e 47 20       	divss  0x20(%rdi),%xmm0
14006588c:	e8 7f 75 03 00       	call   0x14009ce10
140065891:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
140065896:	48 89 ca             	mov    %rcx,%rdx
140065899:	f3 0f 5c 05 3f 78 08 	subss  0x8783f(%rip),%xmm0        # 0x1400ed0e0
1400658a0:	00
1400658a1:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1400658a6:	48 c1 fa 3f          	sar    $0x3f,%rdx
1400658aa:	48 21 d0             	and    %rdx,%rax
1400658ad:	48 09 c8             	or     %rcx,%rax
1400658b0:	49 83 fc 03          	cmp    $0x3,%r12
1400658b4:	72 7d                	jb     0x140065933
1400658b6:	4c 89 e1             	mov    %r12,%rcx
1400658b9:	48 d1 e9             	shr    $1,%rcx
1400658bc:	48 ba 55 55 55 55 55 	movabs $0x5555555555555555,%rdx
1400658c3:	55 55 55
1400658c6:	48 21 ca             	and    %rcx,%rdx
1400658c9:	4c 89 e1             	mov    %r12,%rcx
1400658cc:	48 29 d1             	sub    %rdx,%rcx
1400658cf:	48 ba 33 33 33 33 33 	movabs $0x3333333333333333,%rdx
1400658d6:	33 33 33
1400658d9:	49 89 c8             	mov    %rcx,%r8
1400658dc:	49 c1 e8 02          	shr    $0x2,%r8
1400658e0:	48 21 d1             	and    %rdx,%rcx
1400658e3:	49 21 d0             	and    %rdx,%r8
1400658e6:	49 01 c8             	add    %rcx,%r8
1400658e9:	4c 89 c1             	mov    %r8,%rcx
1400658ec:	48 c1 e9 04          	shr    $0x4,%rcx
1400658f0:	4c 01 c1             	add    %r8,%rcx
1400658f3:	48 ba 0f 0f 0f 0f 0f 	movabs $0xf0f0f0f0f0f0f0f,%rdx
1400658fa:	0f 0f 0f
1400658fd:	48 21 ca             	and    %rcx,%rdx
140065900:	48 b9 01 01 01 01 01 	movabs $0x101010101010101,%rcx
140065907:	01 01 01
14006590a:	48 0f af ca          	imul   %rdx,%rcx
14006590e:	48 c1 e9 38          	shr    $0x38,%rcx
140065912:	83 f9 01             	cmp    $0x1,%ecx
140065915:	77 1c                	ja     0x140065933
140065917:	48 83 f8 02          	cmp    $0x2,%rax
14006591b:	72 1e                	jb     0x14006593b
14006591d:	48 ff c8             	dec    %rax
140065920:	48 0f bd c8          	bsr    %rax,%rcx
140065924:	83 f1 3f             	xor    $0x3f,%ecx
140065927:	f6 d9                	neg    %cl
140065929:	b8 01 00 00 00       	mov    $0x1,%eax
14006592e:	48 d3 e0             	shl    %cl,%rax
140065931:	eb 08                	jmp    0x14006593b
140065933:	48 89 c1             	mov    %rax,%rcx
140065936:	e8 05 46 ff ff       	call   0x140059f40
14006593b:	49 39 c7             	cmp    %rax,%r15
14006593e:	4c 0f 46 f8          	cmovbe %rax,%r15
140065942:	4d 39 e7             	cmp    %r12,%r15
140065945:	0f 82 87 fe ff ff    	jb     0x1400657d2
14006594b:	e9 8d fe ff ff       	jmp    0x1400657dd
140065950:	56                   	push   %rsi
140065951:	57                   	push   %rdi
140065952:	48 83 ec 28          	sub    $0x28,%rsp
140065956:	48 89 ce             	mov    %rcx,%rsi
140065959:	48 85 d2             	test   %rdx,%rdx
14006595c:	0f 84 3b 01 00 00    	je     0x140065a9d
140065962:	48 89 d7             	mov    %rdx,%rdi
140065965:	48 89 d0             	mov    %rdx,%rax
140065968:	48 c1 e8 3d          	shr    $0x3d,%rax
14006596c:	0f 85 26 01 00 00    	jne    0x140065a98
140065972:	48 8d 0c fd 00 00 00 	lea    0x0(,%rdi,8),%rcx
140065979:	00
14006597a:	e8 15 85 00 00       	call   0x14006de94
14006597f:	48 8b 0e             	mov    (%rsi),%rcx
140065982:	48 89 06             	mov    %rax,(%rsi)
140065985:	48 85 c9             	test   %rcx,%rcx
140065988:	74 05                	je     0x14006598f
14006598a:	e8 41 85 00 00       	call   0x14006ded0
14006598f:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140065993:	31 c0                	xor    %eax,%eax
140065995:	48 8b 0e             	mov    (%rsi),%rcx
140065998:	48 c7 04 c1 00 00 00 	movq   $0x0,(%rcx,%rax,8)
14006599f:	00
1400659a0:	48 ff c0             	inc    %rax
1400659a3:	48 39 c7             	cmp    %rax,%rdi
1400659a6:	75 ed                	jne    0x140065995
1400659a8:	4c 8b 46 10          	mov    0x10(%rsi),%r8
1400659ac:	4d 85 c0             	test   %r8,%r8
1400659af:	74 2d                	je     0x1400659de
1400659b1:	4c 8d 4e 10          	lea    0x10(%rsi),%r9
1400659b5:	49 8b 48 08          	mov    0x8(%r8),%rcx
1400659b9:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
1400659bd:	48 85 c7             	test   %rax,%rdi
1400659c0:	74 7a                	je     0x140065a3c
1400659c2:	48 39 f9             	cmp    %rdi,%rcx
1400659c5:	72 0b                	jb     0x1400659d2
1400659c7:	48 89 c8             	mov    %rcx,%rax
1400659ca:	31 d2                	xor    %edx,%edx
1400659cc:	48 f7 f7             	div    %rdi
1400659cf:	48 89 d1             	mov    %rdx,%rcx
1400659d2:	48 8b 06             	mov    (%rsi),%rax
1400659d5:	4c 89 0c c8          	mov    %r9,(%rax,%rcx,8)
1400659d9:	4d 8b 08             	mov    (%r8),%r9
1400659dc:	eb 14                	jmp    0x1400659f2
1400659de:	48 83 c4 28          	add    $0x28,%rsp
1400659e2:	5f                   	pop    %rdi
1400659e3:	5e                   	pop    %rsi
1400659e4:	c3                   	ret
1400659e5:	4c 89 04 c2          	mov    %r8,(%rdx,%rax,8)
1400659e9:	4d 89 c8             	mov    %r9,%r8
1400659ec:	4d 8b 09             	mov    (%r9),%r9
1400659ef:	48 89 c1             	mov    %rax,%rcx
1400659f2:	4d 85 c9             	test   %r9,%r9
1400659f5:	74 e7                	je     0x1400659de
1400659f7:	49 8b 41 08          	mov    0x8(%r9),%rax
1400659fb:	48 39 f8             	cmp    %rdi,%rax
1400659fe:	72 08                	jb     0x140065a08
140065a00:	31 d2                	xor    %edx,%edx
140065a02:	48 f7 f7             	div    %rdi
140065a05:	48 89 d0             	mov    %rdx,%rax
140065a08:	48 39 c8             	cmp    %rcx,%rax
140065a0b:	74 2a                	je     0x140065a37
140065a0d:	48 8b 16             	mov    (%rsi),%rdx
140065a10:	48 83 3c c2 00       	cmpq   $0x0,(%rdx,%rax,8)
140065a15:	74 ce                	je     0x1400659e5
140065a17:	49 8b 11             	mov    (%r9),%rdx
140065a1a:	49 89 10             	mov    %rdx,(%r8)
140065a1d:	48 8b 16             	mov    (%rsi),%rdx
140065a20:	48 8b 14 c2          	mov    (%rdx,%rax,8),%rdx
140065a24:	48 8b 12             	mov    (%rdx),%rdx
140065a27:	49 89 11             	mov    %rdx,(%r9)
140065a2a:	48 8b 16             	mov    (%rsi),%rdx
140065a2d:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
140065a31:	4c 89 08             	mov    %r9,(%rax)
140065a34:	4d 89 c1             	mov    %r8,%r9
140065a37:	48 89 c8             	mov    %rcx,%rax
140065a3a:	eb ad                	jmp    0x1400659e9
140065a3c:	48 21 c1             	and    %rax,%rcx
140065a3f:	48 8b 16             	mov    (%rsi),%rdx
140065a42:	4c 89 0c ca          	mov    %r9,(%rdx,%rcx,8)
140065a46:	eb 0f                	jmp    0x140065a57
140065a48:	49 89 d0             	mov    %rdx,%r8
140065a4b:	eb 0a                	jmp    0x140065a57
140065a4d:	4f 89 04 ca          	mov    %r8,(%r10,%r9,8)
140065a51:	49 89 d0             	mov    %rdx,%r8
140065a54:	4c 89 c9             	mov    %r9,%rcx
140065a57:	49 8b 10             	mov    (%r8),%rdx
140065a5a:	48 85 d2             	test   %rdx,%rdx
140065a5d:	0f 84 7b ff ff ff    	je     0x1400659de
140065a63:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
140065a67:	49 21 c1             	and    %rax,%r9
140065a6a:	49 39 c9             	cmp    %rcx,%r9
140065a6d:	74 d9                	je     0x140065a48
140065a6f:	4c 8b 16             	mov    (%rsi),%r10
140065a72:	4b 83 3c ca 00       	cmpq   $0x0,(%r10,%r9,8)
140065a77:	74 d4                	je     0x140065a4d
140065a79:	4c 8b 12             	mov    (%rdx),%r10
140065a7c:	4d 89 10             	mov    %r10,(%r8)
140065a7f:	4c 8b 16             	mov    (%rsi),%r10
140065a82:	4f 8b 14 ca          	mov    (%r10,%r9,8),%r10
140065a86:	4d 8b 12             	mov    (%r10),%r10
140065a89:	4c 89 12             	mov    %r10,(%rdx)
140065a8c:	4c 8b 16             	mov    (%rsi),%r10
140065a8f:	4f 8b 0c ca          	mov    (%r10,%r9,8),%r9
140065a93:	49 89 11             	mov    %rdx,(%r9)
140065a96:	eb bf                	jmp    0x140065a57
140065a98:	e8 e3 98 03 00       	call   0x14009f380
140065a9d:	48 8b 0e             	mov    (%rsi),%rcx
140065aa0:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
140065aa7:	48 85 c9             	test   %rcx,%rcx
140065aaa:	74 05                	je     0x140065ab1
140065aac:	e8 1f 84 00 00       	call   0x14006ded0
140065ab1:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
140065ab8:	00
140065ab9:	e9 20 ff ff ff       	jmp    0x1400659de
140065abe:	cc                   	int3
140065abf:	cc                   	int3
140065ac0:	48 83 ec 48          	sub    $0x48,%rsp
140065ac4:	48 8b 05 75 b5 09 00 	mov    0x9b575(%rip),%rax        # 0x140101040
140065acb:	48 31 e0             	xor    %rsp,%rax
140065ace:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140065ad3:	0f 28 05 36 ae 07 00 	movaps 0x7ae36(%rip),%xmm0        # 0x1400e0910
140065ada:	0f 29 44 24 30       	movaps %xmm0,0x30(%rsp)
140065adf:	0f 10 01             	movups (%rcx),%xmm0
140065ae2:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
140065ae7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140065aec:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140065af1:	e8 ba 2c 00 00       	call   0x1400687b0
140065af6:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140065afb:	48 0f c8             	bswap  %rax
140065afe:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140065b03:	48 31 e1             	xor    %rsp,%rcx
140065b06:	48 3b 0d 33 b5 09 00 	cmp    0x9b533(%rip),%rcx        # 0x140101040
140065b0d:	74 06                	je     0x140065b15
140065b0f:	e8 bc 97 00 00       	call   0x14006f2d0
140065b14:	cc                   	int3
140065b15:	48 83 c4 48          	add    $0x48,%rsp
140065b19:	c3                   	ret
140065b1a:	cc                   	int3
140065b1b:	cc                   	int3
140065b1c:	cc                   	int3
140065b1d:	cc                   	int3
140065b1e:	cc                   	int3
140065b1f:	cc                   	int3
140065b20:	41 57                	push   %r15
140065b22:	41 56                	push   %r14
140065b24:	41 55                	push   %r13
140065b26:	41 54                	push   %r12
140065b28:	56                   	push   %rsi
140065b29:	57                   	push   %rdi
140065b2a:	55                   	push   %rbp
140065b2b:	53                   	push   %rbx
140065b2c:	48 81 ec c8 00 00 00 	sub    $0xc8,%rsp
140065b33:	0f 29 b4 24 b0 00 00 	movaps %xmm6,0xb0(%rsp)
140065b3a:	00
140065b3b:	48 89 d6             	mov    %rdx,%rsi
140065b3e:	48 8b 05 fb b4 09 00 	mov    0x9b4fb(%rip),%rax        # 0x140101040
140065b45:	48 31 e0             	xor    %rsp,%rax
140065b48:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
140065b4f:	00
140065b50:	4d 85 c0             	test   %r8,%r8
140065b53:	0f 84 f4 03 00 00    	je     0x140065f4d
140065b59:	4d 89 c6             	mov    %r8,%r14
140065b5c:	49 89 cf             	mov    %rcx,%r15
140065b5f:	41 8b 00             	mov    (%r8),%eax
140065b62:	83 f8 04             	cmp    $0x4,%eax
140065b65:	0f 84 5c 03 00 00    	je     0x140065ec7
140065b6b:	89 44 24 50          	mov    %eax,0x50(%rsp)
140065b6f:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140065b74:	41 8b 46 04          	mov    0x4(%r14),%eax
140065b78:	89 44 24 54          	mov    %eax,0x54(%rsp)
140065b7c:	41 8b 6e 08          	mov    0x8(%r14),%ebp
140065b80:	41 8b 46 0c          	mov    0xc(%r14),%eax
140065b84:	89 44 24 4c          	mov    %eax,0x4c(%rsp)
140065b88:	41 8b 5e 10          	mov    0x10(%r14),%ebx
140065b8c:	41 8b 56 14          	mov    0x14(%r14),%edx
140065b90:	41 8b 76 18          	mov    0x18(%r14),%esi
140065b94:	48 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%rax
140065b9b:	00
140065b9c:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140065ba3:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140065ba7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140065bac:	41 b9 04 00 00 00    	mov    $0x4,%r9d
140065bb2:	41 b8 5b 22 ea bc    	mov    $0xbcea225b,%r8d
140065bb8:	e8 03 cc ff ff       	call   0x1400627c0
140065bbd:	48 85 c0             	test   %rax,%rax
140065bc0:	0f 84 82 03 00 00    	je     0x140065f48
140065bc6:	49 89 c5             	mov    %rax,%r13
140065bc9:	8d 83 01 00 00 c0    	lea    -0x3fffffff(%rbx),%eax
140065bcf:	3d 03 00 00 c0       	cmp    $0xc0000003,%eax
140065bd4:	0f 82 6e 03 00 00    	jb     0x140065f48
140065bda:	44 8d 63 01          	lea    0x1(%rbx),%r12d
140065bde:	4a 8d 04 a5 00 00 00 	lea    0x0(,%r12,4),%rax
140065be5:	00
140065be6:	48 39 84 24 a0 00 00 	cmp    %rax,0xa0(%rsp)
140065bed:	00
140065bee:	0f 82 54 03 00 00    	jb     0x140065f48
140065bf4:	b9 20 00 00 00       	mov    $0x20,%ecx
140065bf9:	e8 96 82 00 00       	call   0x14006de94
140065bfe:	48 89 c7             	mov    %rax,%rdi
140065c01:	48 89 c1             	mov    %rax,%rcx
140065c04:	4c 89 e2             	mov    %r12,%rdx
140065c07:	e8 b4 06 00 00       	call   0x1400662c0
140065c0c:	48 8b 07             	mov    (%rdi),%rax
140065c0f:	48 39 47 08          	cmp    %rax,0x8(%rdi)
140065c13:	0f 84 2d 03 00 00    	je     0x140065f46
140065c19:	41 8b 4d 00          	mov    0x0(%r13),%ecx
140065c1d:	89 08                	mov    %ecx,(%rax)
140065c1f:	b8 01 00 00 00       	mov    $0x1,%eax
140065c24:	66 66 66 2e 0f 1f 84 	data16 data16 cs nopw 0x0(%rax,%rax,1)
140065c2b:	00 00 00 00 00
140065c30:	41 8b 4c 85 00       	mov    0x0(%r13,%rax,4),%ecx
140065c35:	41 3b 4c 85 fc       	cmp    -0x4(%r13,%rax,4),%ecx
140065c3a:	0f 8e d1 02 00 00    	jle    0x140065f11
140065c40:	48 8b 0f             	mov    (%rdi),%rcx
140065c43:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140065c47:	48 29 ca             	sub    %rcx,%rdx
140065c4a:	48 c1 fa 02          	sar    $0x2,%rdx
140065c4e:	48 39 d0             	cmp    %rdx,%rax
140065c51:	0f 83 ef 02 00 00    	jae    0x140065f46
140065c57:	41 8b 54 85 00       	mov    0x0(%r13,%rax,4),%edx
140065c5c:	89 14 81             	mov    %edx,(%rcx,%rax,4)
140065c5f:	48 ff c0             	inc    %rax
140065c62:	49 39 c4             	cmp    %rax,%r12
140065c65:	75 c9                	jne    0x140065c30
140065c67:	48 89 f9             	mov    %rdi,%rcx
140065c6a:	e8 11 07 00 00       	call   0x140066380
140065c6f:	39 77 18             	cmp    %esi,0x18(%rdi)
140065c72:	0f 85 99 02 00 00    	jne    0x140065f11
140065c78:	48 85 ff             	test   %rdi,%rdi
140065c7b:	0f 84 99 02 00 00    	je     0x140065f1a
140065c81:	48 8b 07             	mov    (%rdi),%rax
140065c84:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140065c88:	48 29 c1             	sub    %rax,%rcx
140065c8b:	48 c1 f9 02          	sar    $0x2,%rcx
140065c8f:	4c 39 e1             	cmp    %r12,%rcx
140065c92:	0f 85 84 02 00 00    	jne    0x140065f1c
140065c98:	41 83 fc 01          	cmp    $0x1,%r12d
140065c9c:	0f 86 a4 02 00 00    	jbe    0x140065f46
140065ca2:	39 68 04             	cmp    %ebp,0x4(%rax)
140065ca5:	0f 85 71 02 00 00    	jne    0x140065f1c
140065cab:	8d 4b ff             	lea    -0x1(%rbx),%ecx
140065cae:	41 39 cc             	cmp    %ecx,%r12d
140065cb1:	0f 86 8f 02 00 00    	jbe    0x140065f46
140065cb7:	89 c9                	mov    %ecx,%ecx
140065cb9:	8b 54 24 4c          	mov    0x4c(%rsp),%edx
140065cbd:	39 14 88             	cmp    %edx,(%rax,%rcx,4)
140065cc0:	0f 85 56 02 00 00    	jne    0x140065f1c
140065cc6:	49 8b 4f 10          	mov    0x10(%r15),%rcx
140065cca:	48 85 c9             	test   %rcx,%rcx
140065ccd:	0f 85 5a 02 00 00    	jne    0x140065f2d
140065cd3:	48 89 f9             	mov    %rdi,%rcx
140065cd6:	e8 95 f4 ff ff       	call   0x140065170
140065cdb:	49 89 c4             	mov    %rax,%r12
140065cde:	31 ff                	xor    %edi,%edi
140065ce0:	48 8d 2c dd 00 00 00 	lea    0x0(,%rbx,8),%rbp
140065ce7:	00
140065ce8:	41 8b 56 1c          	mov    0x1c(%r14),%edx
140065cec:	85 d2                	test   %edx,%edx
140065cee:	0f 85 82 02 00 00    	jne    0x140065f76
140065cf4:	49 8d 76 1c          	lea    0x1c(%r14),%rsi
140065cf8:	0f 28 35 11 ac 07 00 	movaps 0x7ac11(%rip),%xmm6        # 0x1400e0910
140065cff:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
140065d06:	00
140065d07:	0f 29 71 10          	movaps %xmm6,0x10(%rcx)
140065d0b:	0f 29 31             	movaps %xmm6,(%rcx)
140065d0e:	49 8b 57 08          	mov    0x8(%r15),%rdx
140065d12:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140065d17:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140065d1e:	00 00
140065d20:	49 89 f0             	mov    %rsi,%r8
140065d23:	41 b9 31 55 21 53    	mov    $0x53215531,%r9d
140065d29:	e8 52 d6 ff ff       	call   0x140063380
140065d2e:	48 c1 e3 02          	shl    $0x2,%rbx
140065d32:	4c 8d 6c 24 60       	lea    0x60(%rsp),%r13
140065d37:	41 0f 29 75 10       	movaps %xmm6,0x10(%r13)
140065d3c:	41 0f 29 75 00       	movaps %xmm6,0x0(%r13)
140065d41:	49 8b 57 08          	mov    0x8(%r15),%rdx
140065d45:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140065d4a:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140065d4f:	4c 89 e9             	mov    %r13,%rcx
140065d52:	49 89 f0             	mov    %rsi,%r8
140065d55:	41 b9 31 55 21 53    	mov    $0x53215531,%r9d
140065d5b:	e8 20 d6 ff ff       	call   0x140063380
140065d60:	49 8d 56 50          	lea    0x50(%r14),%rdx
140065d64:	8b 44 24 50          	mov    0x50(%rsp),%eax
140065d68:	85 c0                	test   %eax,%eax
140065d6a:	0f 85 a8 00 00 00    	jne    0x140065e18
140065d70:	49 8d 46 38          	lea    0x38(%r14),%rax