1400be797:	48 89 c3             	mov    %rax,%rbx
1400be79a:	48 8b 6f 08          	mov    0x8(%rdi),%rbp
1400be79e:	48 85 ed             	test   %rbp,%rbp
1400be7a1:	0f 84 ea 00 00 00    	je     0x1400be891
1400be7a7:	48 89 e8             	mov    %rbp,%rax
1400be7aa:	48 d1 e8             	shr    $1,%rax
1400be7ad:	48 b9 55 55 55 55 55 	movabs $0x5555555555555555,%rcx
1400be7b4:	55 55 55
1400be7b7:	48 21 c1             	and    %rax,%rcx
1400be7ba:	48 89 e8             	mov    %rbp,%rax
1400be7bd:	48 29 c8             	sub    %rcx,%rax
1400be7c0:	48 b9 33 33 33 33 33 	movabs $0x3333333333333333,%rcx
1400be7c7:	33 33 33
1400be7ca:	48 89 c2             	mov    %rax,%rdx
1400be7cd:	48 21 ca             	and    %rcx,%rdx
1400be7d0:	48 c1 e8 02          	shr    $0x2,%rax
1400be7d4:	48 21 c8             	and    %rcx,%rax
1400be7d7:	48 01 d0             	add    %rdx,%rax
1400be7da:	48 89 c1             	mov    %rax,%rcx
1400be7dd:	48 c1 e9 04          	shr    $0x4,%rcx
1400be7e1:	48 01 c1             	add    %rax,%rcx
1400be7e4:	48 b8 0f 0f 0f 0f 0f 	movabs $0xf0f0f0f0f0f0f0f,%rax
1400be7eb:	0f 0f 0f
1400be7ee:	48 21 c8             	and    %rcx,%rax
1400be7f1:	48 b9 01 01 01 01 01 	movabs $0x101010101010101,%rcx
1400be7f8:	01 01 01
1400be7fb:	48 0f af c8          	imul   %rax,%rcx
1400be7ff:	48 c1 e9 38          	shr    $0x38,%rcx
1400be803:	48 83 f9 01          	cmp    $0x1,%rcx
1400be807:	76 15                	jbe    0x1400be81e
1400be809:	49 89 df             	mov    %rbx,%r15
1400be80c:	48 39 eb             	cmp    %rbp,%rbx
1400be80f:	72 14                	jb     0x1400be825
1400be811:	48 89 d8             	mov    %rbx,%rax
1400be814:	31 d2                	xor    %edx,%edx
1400be816:	48 f7 f5             	div    %rbp
1400be819:	49 89 d7             	mov    %rdx,%r15
1400be81c:	eb 07                	jmp    0x1400be825
1400be81e:	4c 8d 7d ff          	lea    -0x1(%rbp),%r15
1400be822:	49 21 df             	and    %rbx,%r15
1400be825:	48 8b 07             	mov    (%rdi),%rax
1400be828:	4a 8b 04 f8          	mov    (%rax,%r15,8),%rax
1400be82c:	48 85 c0             	test   %rax,%rax
1400be82f:	74 6a                	je     0x1400be89b
1400be831:	4c 8b 30             	mov    (%rax),%r14
1400be834:	4d 85 f6             	test   %r14,%r14
1400be837:	74 62                	je     0x1400be89b
1400be839:	4c 8d 45 ff          	lea    -0x1(%rbp),%r8
1400be83d:	4d 8b 4d 00          	mov    0x0(%r13),%r9
1400be841:	4d 8b 55 08          	mov    0x8(%r13),%r10
1400be845:	45 8b 5d 10          	mov    0x10(%r13),%r11d
1400be849:	eb 24                	jmp    0x1400be86f
1400be84b:	48 39 e8             	cmp    %rbp,%rax
1400be84e:	72 12                	jb     0x1400be862
1400be850:	31 d2                	xor    %edx,%edx
1400be852:	48 f7 f5             	div    %rbp
1400be855:	48 89 d0             	mov    %rdx,%rax
1400be858:	eb 08                	jmp    0x1400be862
1400be85a:	83 f9 01             	cmp    $0x1,%ecx
1400be85d:	77 ec                	ja     0x1400be84b
1400be85f:	4c 21 c0             	and    %r8,%rax
1400be862:	4c 39 f8             	cmp    %r15,%rax
1400be865:	75 34                	jne    0x1400be89b
1400be867:	4d 8b 36             	mov    (%r14),%r14
1400be86a:	4d 85 f6             	test   %r14,%r14
1400be86d:	74 2c                	je     0x1400be89b
1400be86f:	49 8b 46 08          	mov    0x8(%r14),%rax
1400be873:	48 39 d8             	cmp    %rbx,%rax
1400be876:	75 e2                	jne    0x1400be85a
1400be878:	4d 39 56 18          	cmp    %r10,0x18(%r14)
1400be87c:	75 e9                	jne    0x1400be867
1400be87e:	4d 39 4e 10          	cmp    %r9,0x10(%r14)
1400be882:	75 e3                	jne    0x1400be867
1400be884:	45 39 5e 20          	cmp    %r11d,0x20(%r14)
1400be888:	75 dd                	jne    0x1400be867
1400be88a:	31 c0                	xor    %eax,%eax
1400be88c:	e9 c3 00 00 00       	jmp    0x1400be954
1400be891:	49 bf aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%r15
1400be898:	aa aa aa
1400be89b:	b9 30 00 00 00       	mov    $0x30,%ecx
1400be8a0:	e8 ef f5 fa ff       	call   0x14006de94
1400be8a5:	48 85 c0             	test   %rax,%rax
1400be8a8:	0f 84 8e 01 00 00    	je     0x1400bea3c
1400be8ae:	49 89 c6             	mov    %rax,%r14
1400be8b1:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1400be8b8:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400be8bc:	41 0f 10 04 24       	movups (%r12),%xmm0
1400be8c1:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1400be8c5:	49 8b 44 24 10       	mov    0x10(%r12),%rax
1400be8ca:	49 89 46 20          	mov    %rax,0x20(%r14)
1400be8ce:	49 8b 44 24 18       	mov    0x18(%r12),%rax
1400be8d3:	49 89 46 28          	mov    %rax,0x28(%r14)
1400be8d7:	48 8b 47 18          	mov    0x18(%rdi),%rax
1400be8db:	48 ff c0             	inc    %rax
1400be8de:	79 1a                	jns    0x1400be8fa
1400be8e0:	48 89 c1             	mov    %rax,%rcx
1400be8e3:	48 d1 e9             	shr    $1,%rcx
1400be8e6:	83 e0 01             	and    $0x1,%eax
1400be8e9:	48 09 c8             	or     %rcx,%rax
1400be8ec:	0f 57 c0             	xorps  %xmm0,%xmm0
1400be8ef:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1400be8f4:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1400be8f8:	eb 08                	jmp    0x1400be902
1400be8fa:	0f 57 c0             	xorps  %xmm0,%xmm0
1400be8fd:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1400be902:	48 89 e9             	mov    %rbp,%rcx
1400be905:	48 d1 e9             	shr    $1,%rcx
1400be908:	89 e8                	mov    %ebp,%eax
1400be90a:	83 e0 01             	and    $0x1,%eax
1400be90d:	48 09 c8             	or     %rcx,%rax
1400be910:	48 85 ed             	test   %rbp,%rbp
1400be913:	79 0b                	jns    0x1400be920
1400be915:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
1400be91a:	f3 0f 58 c9          	addss  %xmm1,%xmm1
1400be91e:	eb 05                	jmp    0x1400be925
1400be920:	f3 48 0f 2a cd       	cvtsi2ss %rbp,%xmm1
1400be925:	f3 0f 10 57 20       	movss  0x20(%rdi),%xmm2
1400be92a:	0f 84 81 00 00 00    	je     0x1400be9b1
1400be930:	f3 0f 59 ca          	mulss  %xmm2,%xmm1
1400be934:	0f 2e c1             	ucomiss %xmm1,%xmm0
1400be937:	77 78                	ja     0x1400be9b1
1400be939:	48 8b 07             	mov    (%rdi),%rax
1400be93c:	4a 8b 0c f8          	mov    (%rax,%r15,8),%rcx
1400be940:	48 85 c9             	test   %rcx,%rcx
1400be943:	74 29                	je     0x1400be96e
1400be945:	48 8b 01             	mov    (%rcx),%rax
1400be948:	49 89 06             	mov    %rax,(%r14)
1400be94b:	4c 89 31             	mov    %r14,(%rcx)
1400be94e:	48 ff 47 18          	incq   0x18(%rdi)
1400be952:	b0 01                	mov    $0x1,%al
1400be954:	4c 89 36             	mov    %r14,(%rsi)
1400be957:	88 46 08             	mov    %al,0x8(%rsi)
1400be95a:	48 89 f0             	mov    %rsi,%rax
1400be95d:	48 83 c4 28          	add    $0x28,%rsp
1400be961:	5b                   	pop    %rbx
1400be962:	5d                   	pop    %rbp
1400be963:	5f                   	pop    %rdi
1400be964:	5e                   	pop    %rsi
1400be965:	41 5c                	pop    %r12
1400be967:	41 5d                	pop    %r13
1400be969:	41 5e                	pop    %r14
1400be96b:	41 5f                	pop    %r15
1400be96d:	c3                   	ret
1400be96e:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1400be972:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1400be976:	49 89 16             	mov    %rdx,(%r14)
1400be979:	4c 89 77 10          	mov    %r14,0x10(%rdi)
1400be97d:	4a 89 0c f8          	mov    %rcx,(%rax,%r15,8)
1400be981:	49 8b 06             	mov    (%r14),%rax
1400be984:	48 85 c0             	test   %rax,%rax
1400be987:	74 c5                	je     0x1400be94e
1400be989:	48 8b 40 08          	mov    0x8(%rax),%rax
1400be98d:	48 8d 4d ff          	lea    -0x1(%rbp),%rcx
1400be991:	48 85 cd             	test   %rcx,%rbp
1400be994:	75 0c                	jne    0x1400be9a2
1400be996:	48 21 c8             	and    %rcx,%rax
1400be999:	48 8b 0f             	mov    (%rdi),%rcx
1400be99c:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
1400be9a0:	eb ac                	jmp    0x1400be94e
1400be9a2:	48 39 e8             	cmp    %rbp,%rax
1400be9a5:	72 f2                	jb     0x1400be999
1400be9a7:	31 d2                	xor    %edx,%edx
1400be9a9:	48 f7 f5             	div    %rbp
1400be9ac:	48 89 d0             	mov    %rdx,%rax
1400be9af:	eb e8                	jmp    0x1400be999
1400be9b1:	f3 0f 5e c2          	divss  %xmm2,%xmm0
1400be9b5:	e8 56 e4 fd ff       	call   0x14009ce10
1400be9ba:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
1400be9bf:	48 89 ca             	mov    %rcx,%rdx
1400be9c2:	f3 0f 5c 05 16 e7 02 	subss  0x2e716(%rip),%xmm0        # 0x1400ed0e0
1400be9c9:	00
1400be9ca:	48 c1 fa 3f          	sar    $0x3f,%rdx
1400be9ce:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1400be9d3:	48 21 d0             	and    %rdx,%rax
1400be9d6:	48 09 c8             	or     %rcx,%rax
1400be9d9:	48 8d 0c 6d 00 00 00 	lea    0x0(,%rbp,2),%rcx
1400be9e0:	00
1400be9e1:	ba 01 00 00 00       	mov    $0x1,%edx
1400be9e6:	48 83 fd 03          	cmp    $0x3,%rbp
1400be9ea:	72 0c                	jb     0x1400be9f8
1400be9ec:	4c 8d 45 ff          	lea    -0x1(%rbp),%r8
1400be9f0:	31 d2                	xor    %edx,%edx
1400be9f2:	4c 85 c5             	test   %r8,%rbp
1400be9f5:	0f 95 c2             	setne  %dl
1400be9f8:	48 09 ca             	or     %rcx,%rdx
1400be9fb:	48 39 c2             	cmp    %rax,%rdx
1400be9fe:	48 0f 46 d0          	cmovbe %rax,%rdx
1400bea02:	48 89 f9             	mov    %rdi,%rcx
1400bea05:	e8 36 00 00 00       	call   0x1400bea40
1400bea0a:	48 8b 6f 08          	mov    0x8(%rdi),%rbp
1400bea0e:	4c 8d 7d ff          	lea    -0x1(%rbp),%r15
1400bea12:	4c 85 fd             	test   %r15,%rbp
1400bea15:	75 08                	jne    0x1400bea1f
1400bea17:	49 21 df             	and    %rbx,%r15
1400bea1a:	e9 1a ff ff ff       	jmp    0x1400be939
1400bea1f:	48 39 eb             	cmp    %rbp,%rbx
1400bea22:	73 08                	jae    0x1400bea2c
1400bea24:	49 89 df             	mov    %rbx,%r15
1400bea27:	e9 0d ff ff ff       	jmp    0x1400be939
1400bea2c:	48 89 d8             	mov    %rbx,%rax
1400bea2f:	31 d2                	xor    %edx,%edx
1400bea31:	48 f7 f5             	div    %rbp
1400bea34:	49 89 d7             	mov    %rdx,%r15
1400bea37:	e9 fd fe ff ff       	jmp    0x1400be939
1400bea3c:	0f 0b                	ud2
1400bea3e:	cc                   	int3
1400bea3f:	cc                   	int3
1400bea40:	56                   	push   %rsi
1400bea41:	57                   	push   %rdi
1400bea42:	53                   	push   %rbx
1400bea43:	48 83 ec 20          	sub    $0x20,%rsp
1400bea47:	48 89 ce             	mov    %rcx,%rsi
1400bea4a:	bf 02 00 00 00       	mov    $0x2,%edi
1400bea4f:	48 83 fa 01          	cmp    $0x1,%rdx
1400bea53:	74 19                	je     0x1400bea6e
1400bea55:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1400bea59:	48 85 c2             	test   %rax,%rdx
1400bea5c:	74 0d                	je     0x1400bea6b
1400bea5e:	48 89 d1             	mov    %rdx,%rcx
1400bea61:	e8 da b4 f9 ff       	call   0x140059f40
1400bea66:	48 89 c7             	mov    %rax,%rdi
1400bea69:	eb 03                	jmp    0x1400bea6e
1400bea6b:	48 89 d7             	mov    %rdx,%rdi
1400bea6e:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
1400bea72:	48 39 df             	cmp    %rbx,%rdi
1400bea75:	0f 87 f3 00 00 00    	ja     0x1400beb6e
1400bea7b:	0f 83 e5 00 00 00    	jae    0x1400beb66
1400bea81:	48 8b 46 18          	mov    0x18(%rsi),%rax
1400bea85:	48 85 c0             	test   %rax,%rax
1400bea88:	79 17                	jns    0x1400beaa1
1400bea8a:	48 89 c1             	mov    %rax,%rcx
1400bea8d:	48 d1 e9             	shr    $1,%rcx
1400bea90:	83 e0 01             	and    $0x1,%eax
1400bea93:	48 09 c8             	or     %rcx,%rax
1400bea96:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1400bea9b:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1400bea9f:	eb 05                	jmp    0x1400beaa6
1400beaa1:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1400beaa6:	f3 0f 5e 46 20       	divss  0x20(%rsi),%xmm0
1400beaab:	e8 60 e3 fd ff       	call   0x14009ce10
1400beab0:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
1400beab5:	48 89 ca             	mov    %rcx,%rdx
1400beab8:	f3 0f 5c 05 20 e6 02 	subss  0x2e620(%rip),%xmm0        # 0x1400ed0e0
1400beabf:	00
1400beac0:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1400beac5:	48 c1 fa 3f          	sar    $0x3f,%rdx
1400beac9:	48 21 d0             	and    %rdx,%rax
1400beacc:	48 09 c8             	or     %rcx,%rax
1400beacf:	48 83 fb 03          	cmp    $0x3,%rbx
1400bead3:	72 7d                	jb     0x1400beb52
1400bead5:	48 89 d9             	mov    %rbx,%rcx
1400bead8:	48 d1 e9             	shr    $1,%rcx
1400beadb:	48 ba 55 55 55 55 55 	movabs $0x5555555555555555,%rdx
1400beae2:	55 55 55
1400beae5:	48 21 ca             	and    %rcx,%rdx
1400beae8:	48 89 d9             	mov    %rbx,%rcx
1400beaeb:	48 29 d1             	sub    %rdx,%rcx
1400beaee:	48 ba 33 33 33 33 33 	movabs $0x3333333333333333,%rdx
1400beaf5:	33 33 33
1400beaf8:	49 89 c8             	mov    %rcx,%r8
1400beafb:	49 c1 e8 02          	shr    $0x2,%r8
1400beaff:	48 21 d1             	and    %rdx,%rcx
1400beb02:	49 21 d0             	and    %rdx,%r8
1400beb05:	49 01 c8             	add    %rcx,%r8
1400beb08:	4c 89 c1             	mov    %r8,%rcx
1400beb0b:	48 c1 e9 04          	shr    $0x4,%rcx
1400beb0f:	4c 01 c1             	add    %r8,%rcx
1400beb12:	48 ba 0f 0f 0f 0f 0f 	movabs $0xf0f0f0f0f0f0f0f,%rdx
1400beb19:	0f 0f 0f
1400beb1c:	48 21 ca             	and    %rcx,%rdx
1400beb1f:	48 b9 01 01 01 01 01 	movabs $0x101010101010101,%rcx
1400beb26:	01 01 01
1400beb29:	48 0f af ca          	imul   %rdx,%rcx
1400beb2d:	48 c1 e9 38          	shr    $0x38,%rcx
1400beb31:	83 f9 01             	cmp    $0x1,%ecx
1400beb34:	77 1c                	ja     0x1400beb52
1400beb36:	48 83 f8 02          	cmp    $0x2,%rax
1400beb3a:	72 1e                	jb     0x1400beb5a
1400beb3c:	48 ff c8             	dec    %rax
1400beb3f:	48 0f bd c8          	bsr    %rax,%rcx
1400beb43:	83 f1 3f             	xor    $0x3f,%ecx
1400beb46:	f6 d9                	neg    %cl
1400beb48:	b8 01 00 00 00       	mov    $0x1,%eax
1400beb4d:	48 d3 e0             	shl    %cl,%rax
1400beb50:	eb 08                	jmp    0x1400beb5a
1400beb52:	48 89 c1             	mov    %rax,%rcx
1400beb55:	e8 e6 b3 f9 ff       	call   0x140059f40
1400beb5a:	48 39 c7             	cmp    %rax,%rdi
1400beb5d:	48 0f 46 f8          	cmovbe %rax,%rdi
1400beb61:	48 39 df             	cmp    %rbx,%rdi
1400beb64:	72 08                	jb     0x1400beb6e
1400beb66:	48 83 c4 20          	add    $0x20,%rsp
1400beb6a:	5b                   	pop    %rbx
1400beb6b:	5f                   	pop    %rdi
1400beb6c:	5e                   	pop    %rsi
1400beb6d:	c3                   	ret
1400beb6e:	48 89 f1             	mov    %rsi,%rcx
1400beb71:	48 89 fa             	mov    %rdi,%rdx
1400beb74:	48 83 c4 20          	add    $0x20,%rsp
1400beb78:	5b                   	pop    %rbx
1400beb79:	5f                   	pop    %rdi
1400beb7a:	5e                   	pop    %rsi
1400beb7b:	e9 00 00 00 00       	jmp    0x1400beb80
1400beb80:	56                   	push   %rsi
1400beb81:	57                   	push   %rdi
1400beb82:	48 83 ec 28          	sub    $0x28,%rsp
1400beb86:	48 89 ce             	mov    %rcx,%rsi
1400beb89:	48 85 d2             	test   %rdx,%rdx
1400beb8c:	0f 84 eb 00 00 00    	je     0x1400bec7d
1400beb92:	48 89 d7             	mov    %rdx,%rdi
1400beb95:	48 89 d0             	mov    %rdx,%rax
1400beb98:	48 c1 e8 3d          	shr    $0x3d,%rax
1400beb9c:	0f 85 60 01 00 00    	jne    0x1400bed02
1400beba2:	48 8d 0c fd 00 00 00 	lea    0x0(,%rdi,8),%rcx
1400beba9:	00
1400bebaa:	e8 e5 f2 fa ff       	call   0x14006de94
1400bebaf:	48 8b 0e             	mov    (%rsi),%rcx
1400bebb2:	48 89 06             	mov    %rax,(%rsi)
1400bebb5:	48 85 c9             	test   %rcx,%rcx
1400bebb8:	74 05                	je     0x1400bebbf
1400bebba:	e8 11 f3 fa ff       	call   0x14006ded0
1400bebbf:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
1400bebc3:	31 c0                	xor    %eax,%eax
1400bebc5:	48 8b 0e             	mov    (%rsi),%rcx
1400bebc8:	48 c7 04 c1 00 00 00 	movq   $0x0,(%rcx,%rax,8)
1400bebcf:	00
1400bebd0:	48 ff c0             	inc    %rax
1400bebd3:	48 39 c7             	cmp    %rax,%rdi
1400bebd6:	75 ed                	jne    0x1400bebc5
1400bebd8:	4c 8b 46 10          	mov    0x10(%rsi),%r8
1400bebdc:	4d 85 c0             	test   %r8,%r8
1400bebdf:	0f 84 b4 00 00 00    	je     0x1400bec99
1400bebe5:	4c 8d 56 10          	lea    0x10(%rsi),%r10
1400bebe9:	49 8b 48 08          	mov    0x8(%r8),%rcx
1400bebed:	48 89 f8             	mov    %rdi,%rax
1400bebf0:	48 d1 e8             	shr    $1,%rax
1400bebf3:	48 ba 55 55 55 55 55 	movabs $0x5555555555555555,%rdx
1400bebfa:	55 55 55
1400bebfd:	48 21 c2             	and    %rax,%rdx
1400bec00:	48 89 f8             	mov    %rdi,%rax
1400bec03:	48 29 d0             	sub    %rdx,%rax
1400bec06:	48 ba 33 33 33 33 33 	movabs $0x3333333333333333,%rdx
1400bec0d:	33 33 33
1400bec10:	49 89 c1             	mov    %rax,%r9
1400bec13:	49 21 d1             	and    %rdx,%r9
1400bec16:	48 c1 e8 02          	shr    $0x2,%rax
1400bec1a:	48 21 d0             	and    %rdx,%rax
1400bec1d:	4c 01 c8             	add    %r9,%rax
1400bec20:	48 89 c2             	mov    %rax,%rdx
1400bec23:	48 c1 ea 04          	shr    $0x4,%rdx