1401525e8:	41 8b c4             	mov    %r12d,%eax
1401525eb:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1401525f0:	41 03 c4             	add    %r12d,%eax
1401525f3:	75 82                	jne    0x140152577
1401525f5:	48 8b 4d e7          	mov    -0x19(%rbp),%rcx
1401525f9:	48 8b 01             	mov    (%rcx),%rax
1401525fc:	48 8b 40 08          	mov    0x8(%rax),%rax
140152600:	ff 15 32 a6 9b 00    	call   *0x9ba632(%rip)        # 0x140b0cc38
140152606:	e9 6c ff ff ff       	jmp    0x140152577
14015260b:	48 89 07             	mov    %rax,(%rdi)
14015260e:	48 8b 45 e7          	mov    -0x19(%rbp),%rax
140152612:	48 89 47 08          	mov    %rax,0x8(%rdi)
140152616:	e9 5c ff ff ff       	jmp    0x140152577
14015261b:	cc                   	int3
14015261c:	48 3b ca             	cmp    %rdx,%rcx
14015261f:	74 75                	je     0x140152696
140152621:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140152626:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14015262b:	57                   	push   %rdi
14015262c:	48 83 ec 20          	sub    $0x20,%rsp
140152630:	48 8b fa             	mov    %rdx,%rdi
140152633:	48 8b d9             	mov    %rcx,%rbx
140152636:	33 f6                	xor    %esi,%esi
140152638:	48 8b 43 18          	mov    0x18(%rbx),%rax
14015263c:	48 83 f8 07          	cmp    $0x7,%rax
140152640:	76 2d                	jbe    0x14015266f
140152642:	48 8b 0b             	mov    (%rbx),%rcx
140152645:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
14015264c:	00
14015264d:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140152653:	72 14                	jb     0x140152669
140152655:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140152659:	48 2b ca             	sub    %rdx,%rcx
14015265c:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140152660:	48 83 f8 1f          	cmp    $0x1f,%rax
140152664:	77 31                	ja     0x140152697
140152666:	48 8b ca             	mov    %rdx,%rcx
140152669:	ff 15 51 a2 9b 00    	call   *0x9ba251(%rip)        # 0x140b0c8c0
14015266f:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140152673:	48 c7 43 18 07 00 00 	movq   $0x7,0x18(%rbx)
14015267a:	00
14015267b:	66 89 33             	mov    %si,(%rbx)
14015267e:	48 83 c3 28          	add    $0x28,%rbx
140152682:	48 3b df             	cmp    %rdi,%rbx
140152685:	75 b1                	jne    0x140152638
140152687:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14015268c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140152691:	48 83 c4 20          	add    $0x20,%rsp
140152695:	5f                   	pop    %rdi
140152696:	c3                   	ret
140152697:	ff 15 fb a2 9b 00    	call   *0x9ba2fb(%rip)        # 0x140b0c998
14015269d:	cc                   	int3
14015269e:	90                   	nop
14015269f:	90                   	nop
1401526a0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401526a5:	53                   	push   %rbx
1401526a6:	56                   	push   %rsi
1401526a7:	57                   	push   %rdi
1401526a8:	41 54                	push   %r12
1401526aa:	41 55                	push   %r13
1401526ac:	41 56                	push   %r14
1401526ae:	41 57                	push   %r15
1401526b0:	48 83 ec 30          	sub    $0x30,%rsp
1401526b4:	4d 8b d0             	mov    %r8,%r10
1401526b7:	4c 8b e2             	mov    %rdx,%r12
1401526ba:	48 8b f9             	mov    %rcx,%rdi
1401526bd:	4c 8b ca             	mov    %rdx,%r9
1401526c0:	4c 2b 09             	sub    (%rcx),%r9
1401526c3:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1401526ca:	66 66 66
1401526cd:	49 f7 e9             	imul   %r9
1401526d0:	48 8b f2             	mov    %rdx,%rsi
1401526d3:	48 c1 fe 04          	sar    $0x4,%rsi
1401526d7:	48 8b c6             	mov    %rsi,%rax
1401526da:	48 c1 e8 3f          	shr    $0x3f,%rax
1401526de:	48 03 f0             	add    %rax,%rsi
1401526e1:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401526e5:	48 2b 01             	sub    (%rcx),%rax
1401526e8:	48 c1 f8 03          	sar    $0x3,%rax
1401526ec:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
1401526f3:	cc cc cc
1401526f6:	48 0f af c2          	imul   %rdx,%rax
1401526fa:	49 b9 66 66 66 66 66 	movabs $0x666666666666666,%r9
140152701:	66 66 06
140152704:	49 3b c1             	cmp    %r9,%rax
140152707:	0f 84 ca 02 00 00    	je     0x1401529d7
14015270d:	4c 8d 40 01          	lea    0x1(%rax),%r8
140152711:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140152716:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14015271a:	48 2b 0f             	sub    (%rdi),%rcx
14015271d:	48 c1 f9 03          	sar    $0x3,%rcx
140152721:	48 0f af ca          	imul   %rdx,%rcx
140152725:	48 8b d1             	mov    %rcx,%rdx
140152728:	48 d1 ea             	shr    $1,%rdx
14015272b:	49 8b c1             	mov    %r9,%rax
14015272e:	48 2b c2             	sub    %rdx,%rax
140152731:	48 3b c8             	cmp    %rax,%rcx
140152734:	76 05                	jbe    0x14015273b
140152736:	49 8b c1             	mov    %r9,%rax
140152739:	eb 0b                	jmp    0x140152746
14015273b:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
14015273f:	49 3b c0             	cmp    %r8,%rax
140152742:	49 0f 42 c0          	cmovb  %r8,%rax
140152746:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
14015274d:	00
14015274e:	49 3b c1             	cmp    %r9,%rax
140152751:	0f 87 7a 02 00 00    	ja     0x1401529d1
140152757:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
14015275b:	4c 8d 3c c5 00 00 00 	lea    0x0(,%rax,8),%r15
140152762:	00
140152763:	45 33 c9             	xor    %r9d,%r9d
140152766:	4d 85 ff             	test   %r15,%r15
140152769:	75 0a                	jne    0x140152775
14015276b:	41 8b d9             	mov    %r9d,%ebx
14015276e:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140152773:	eb 5f                	jmp    0x1401527d4
140152775:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
14015277c:	72 2e                	jb     0x1401527ac
14015277e:	49 8d 4f 27          	lea    0x27(%r15),%rcx
140152782:	49 3b cf             	cmp    %r15,%rcx
140152785:	0f 86 46 02 00 00    	jbe    0x1401529d1
14015278b:	ff 15 37 a1 9b 00    	call   *0x9ba137(%rip)        # 0x140b0c8c8
140152791:	45 33 c9             	xor    %r9d,%r9d
140152794:	48 85 c0             	test   %rax,%rax
140152797:	74 27                	je     0x1401527c0
140152799:	48 8d 58 27          	lea    0x27(%rax),%rbx
14015279d:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1401527a1:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1401527a5:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1401527aa:	eb 20                	jmp    0x1401527cc
1401527ac:	49 8b cf             	mov    %r15,%rcx
1401527af:	ff 15 13 a1 9b 00    	call   *0x9ba113(%rip)        # 0x140b0c8c8
1401527b5:	48 8b d8             	mov    %rax,%rbx
1401527b8:	45 33 c9             	xor    %r9d,%r9d
1401527bb:	48 85 c0             	test   %rax,%rax
1401527be:	75 07                	jne    0x1401527c7
1401527c0:	ff 15 d2 9c 9b 00    	call   *0x9b9cd2(%rip)        # 0x140b0c498
1401527c6:	cc                   	int3
1401527c7:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1401527cc:	4c 8b 94 24 80 00 00 	mov    0x80(%rsp),%r10
1401527d3:	00
1401527d4:	48 8d 04 b6          	lea    (%rsi,%rsi,4),%rax
1401527d8:	4c 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%r14
1401527df:	00
1401527e0:	4d 8d 2c 1e          	lea    (%r14,%rbx,1),%r13
1401527e4:	49 8d 75 28          	lea    0x28(%r13),%rsi
1401527e8:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1401527ed:	0f 57 c0             	xorps  %xmm0,%xmm0
1401527f0:	41 0f 11 45 00       	movups %xmm0,0x0(%r13)
1401527f5:	4d 89 4d 10          	mov    %r9,0x10(%r13)
1401527f9:	4d 89 4d 18          	mov    %r9,0x18(%r13)
1401527fd:	41 0f 10 02          	movups (%r10),%xmm0
140152801:	41 0f 11 45 00       	movups %xmm0,0x0(%r13)
140152806:	41 0f 10 4a 10       	movups 0x10(%r10),%xmm1
14015280b:	41 0f 11 4d 10       	movups %xmm1,0x10(%r13)
140152810:	4d 89 4a 10          	mov    %r9,0x10(%r10)
140152814:	41 bb 07 00 00 00    	mov    $0x7,%r11d
14015281a:	4d 89 5a 18          	mov    %r11,0x18(%r10)
14015281e:	66 45 89 0a          	mov    %r9w,(%r10)
140152822:	49 8b 42 20          	mov    0x20(%r10),%rax
140152826:	49 89 45 20          	mov    %rax,0x20(%r13)
14015282a:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
14015282f:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140152833:	48 8b 17             	mov    (%rdi),%rdx
140152836:	48 8b cb             	mov    %rbx,%rcx
140152839:	4d 3b e0             	cmp    %r8,%r12
14015283c:	75 7f                	jne    0x1401528bd
14015283e:	eb 38                	jmp    0x140152878
140152840:	0f 57 c0             	xorps  %xmm0,%xmm0
140152843:	0f 11 01             	movups %xmm0,(%rcx)
140152846:	4c 89 49 10          	mov    %r9,0x10(%rcx)
14015284a:	4c 89 49 18          	mov    %r9,0x18(%rcx)
14015284e:	0f 10 02             	movups (%rdx),%xmm0
140152851:	0f 11 01             	movups %xmm0,(%rcx)
140152854:	0f 10 4a 10          	movups 0x10(%rdx),%xmm1
140152858:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
14015285c:	4c 89 4a 10          	mov    %r9,0x10(%rdx)
140152860:	4c 89 5a 18          	mov    %r11,0x18(%rdx)
140152864:	66 44 89 0a          	mov    %r9w,(%rdx)
140152868:	48 8b 42 20          	mov    0x20(%rdx),%rax
14015286c:	48 89 41 20          	mov    %rax,0x20(%rcx)
140152870:	48 83 c1 28          	add    $0x28,%rcx
140152874:	48 83 c2 28          	add    $0x28,%rdx
140152878:	49 3b d0             	cmp    %r8,%rdx
14015287b:	75 c3                	jne    0x140152840
14015287d:	48 8b d1             	mov    %rcx,%rdx
140152880:	e9 ba 00 00 00       	jmp    0x14015293f
140152885:	0f 57 c0             	xorps  %xmm0,%xmm0
140152888:	0f 11 01             	movups %xmm0,(%rcx)
14015288b:	4c 89 49 10          	mov    %r9,0x10(%rcx)
14015288f:	4c 89 49 18          	mov    %r9,0x18(%rcx)
140152893:	0f 10 02             	movups (%rdx),%xmm0
140152896:	0f 11 01             	movups %xmm0,(%rcx)
140152899:	0f 10 4a 10          	movups 0x10(%rdx),%xmm1
14015289d:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
1401528a1:	4c 89 4a 10          	mov    %r9,0x10(%rdx)
1401528a5:	4c 89 5a 18          	mov    %r11,0x18(%rdx)
1401528a9:	66 44 89 0a          	mov    %r9w,(%rdx)
1401528ad:	48 8b 42 20          	mov    0x20(%rdx),%rax
1401528b1:	48 89 41 20          	mov    %rax,0x20(%rcx)
1401528b5:	48 83 c1 28          	add    $0x28,%rcx
1401528b9:	48 83 c2 28          	add    $0x28,%rdx
1401528bd:	49 3b d4             	cmp    %r12,%rdx
1401528c0:	75 c3                	jne    0x140152885
1401528c2:	48 8b d1             	mov    %rcx,%rdx
1401528c5:	e8 52 fd ff ff       	call   0x14015261c
1401528ca:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
1401528cf:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1401528d3:	4c 3b e2             	cmp    %rdx,%r12
1401528d6:	74 61                	je     0x140152939
1401528d8:	48 8b ce             	mov    %rsi,%rcx
1401528db:	49 2b ce             	sub    %r14,%rcx
1401528de:	48 2b cb             	sub    %rbx,%rcx
1401528e1:	48 83 c1 e8          	add    $0xffffffffffffffe8,%rcx
1401528e5:	49 03 cc             	add    %r12,%rcx
1401528e8:	4d 2b f4             	sub    %r12,%r14
1401528eb:	4c 03 f3             	add    %rbx,%r14
1401528ee:	45 33 e4             	xor    %r12d,%r12d
1401528f1:	0f 57 c0             	xorps  %xmm0,%xmm0
1401528f4:	0f 11 06             	movups %xmm0,(%rsi)
1401528f7:	4e 89 64 31 28       	mov    %r12,0x28(%rcx,%r14,1)
1401528fc:	4e 89 64 31 30       	mov    %r12,0x30(%rcx,%r14,1)
140152901:	0f 10 41 f0          	movups -0x10(%rcx),%xmm0
140152905:	0f 11 06             	movups %xmm0,(%rsi)
140152908:	0f 10 09             	movups (%rcx),%xmm1
14015290b:	0f 11 4e 10          	movups %xmm1,0x10(%rsi)
14015290f:	4c 89 21             	mov    %r12,(%rcx)
140152912:	48 c7 41 08 07 00 00 	movq   $0x7,0x8(%rcx)
140152919:	00
14015291a:	66 44 89 61 f0       	mov    %r12w,-0x10(%rcx)
14015291f:	48 8b 41 10          	mov    0x10(%rcx),%rax
140152923:	4a 89 44 31 38       	mov    %rax,0x38(%rcx,%r14,1)
140152928:	48 83 c6 28          	add    $0x28,%rsi
14015292c:	48 8d 49 28          	lea    0x28(%rcx),%rcx
140152930:	48 8d 41 f0          	lea    -0x10(%rcx),%rax
140152934:	48 3b c2             	cmp    %rdx,%rax
140152937:	75 b8                	jne    0x1401528f1
140152939:	48 8b d6             	mov    %rsi,%rdx
14015293c:	48 8b ce             	mov    %rsi,%rcx
14015293f:	e8 d8 fc ff ff       	call   0x14015261c
140152944:	48 8b 0f             	mov    (%rdi),%rcx
140152947:	48 85 c9             	test   %rcx,%rcx
14015294a:	74 4f                	je     0x14015299b
14015294c:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140152950:	e8 c7 fc ff ff       	call   0x14015261c
140152955:	48 8b 0f             	mov    (%rdi),%rcx
140152958:	48 8b 47 10          	mov    0x10(%rdi),%rax
14015295c:	48 2b c1             	sub    %rcx,%rax
14015295f:	48 c1 f8 03          	sar    $0x3,%rax
140152963:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
14015296a:	cc cc cc
14015296d:	48 0f af c2          	imul   %rdx,%rax
140152971:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
140152975:	48 c1 e0 03          	shl    $0x3,%rax
140152979:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14015297f:	72 14                	jb     0x140152995
140152981:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140152985:	48 2b ca             	sub    %rdx,%rcx
140152988:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14015298c:	48 83 f8 1f          	cmp    $0x1f,%rax
140152990:	77 38                	ja     0x1401529ca
140152992:	48 8b ca             	mov    %rdx,%rcx
140152995:	ff 15 25 9f 9b 00    	call   *0x9b9f25(%rip)        # 0x140b0c8c0
14015299b:	48 89 1f             	mov    %rbx,(%rdi)
14015299e:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
1401529a3:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
1401529a7:	48 8d 14 cb          	lea    (%rbx,%rcx,8),%rdx
1401529ab:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1401529af:	4a 8d 0c 3b          	lea    (%rbx,%r15,1),%rcx
1401529b3:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
1401529b7:	49 8b c5             	mov    %r13,%rax
1401529ba:	48 83 c4 30          	add    $0x30,%rsp
1401529be:	41 5f                	pop    %r15
1401529c0:	41 5e                	pop    %r14
1401529c2:	41 5d                	pop    %r13
1401529c4:	41 5c                	pop    %r12
1401529c6:	5f                   	pop    %rdi
1401529c7:	5e                   	pop    %rsi
1401529c8:	5b                   	pop    %rbx
1401529c9:	c3                   	ret
1401529ca:	ff 15 c8 9f 9b 00    	call   *0x9b9fc8(%rip)        # 0x140b0c998
1401529d0:	cc                   	int3
1401529d1:	e8 fa 12 eb ff       	call   0x140003cd0
1401529d6:	cc                   	int3
1401529d7:	e8 8c 93 ec ff       	call   0x14001bd68
1401529dc:	cc                   	int3
1401529dd:	90                   	nop
1401529de:	90                   	nop
1401529df:	90                   	nop
1401529e0:	40 53                	rex push %rbx
1401529e2:	48 83 ec 70          	sub    $0x70,%rsp
1401529e6:	48 8b 05 53 c6 b6 00 	mov    0xb6c653(%rip),%rax        # 0x140cbf040
1401529ed:	48 33 c4             	xor    %rsp,%rax
1401529f0:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1401529f5:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1401529fa:	48 8b d9             	mov    %rcx,%rbx
1401529fd:	48 8d 4c 24 5a       	lea    0x5a(%rsp),%rcx
140152a02:	48 85 d2             	test   %rdx,%rdx
140152a05:	79 13                	jns    0x140152a1a
140152a07:	48 f7 da             	neg    %rdx
140152a0a:	e8 c9 f1 fd ff       	call   0x140131bd8
140152a0f:	48 83 e8 02          	sub    $0x2,%rax
140152a13:	66 c7 00 2d 00       	movw   $0x2d,(%rax)
140152a18:	eb 05                	jmp    0x140152a1f
140152a1a:	e8 b9 f1 fd ff       	call   0x140131bd8
140152a1f:	4c 8d 44 24 5a       	lea    0x5a(%rsp),%r8
140152a24:	48 8b d0             	mov    %rax,%rdx
140152a27:	48 8b cb             	mov    %rbx,%rcx
140152a2a:	e8 a5 f0 fd ff       	call   0x140131ad4
140152a2f:	48 8b c3             	mov    %rbx,%rax
140152a32:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140152a37:	48 33 cc             	xor    %rsp,%rcx
140152a3a:	e8 a1 cb 99 00       	call   0x140aef5e0
140152a3f:	48 83 c4 70          	add    $0x70,%rsp
140152a43:	5b                   	pop    %rbx
140152a44:	c3                   	ret
140152a45:	90                   	nop
140152a46:	90                   	nop
140152a47:	90                   	nop
140152a48:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140152a4d:	55                   	push   %rbp
140152a4e:	56                   	push   %rsi
140152a4f:	57                   	push   %rdi
140152a50:	41 54                	push   %r12
140152a52:	41 55                	push   %r13
140152a54:	41 56                	push   %r14
140152a56:	41 57                	push   %r15
140152a58:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
140152a5d:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
140152a64:	48 8b 05 d5 c5 b6 00 	mov    0xb6c5d5(%rip),%rax        # 0x140cbf040
140152a6b:	48 33 c4             	xor    %rsp,%rax
140152a6e:	48 89 45 17          	mov    %rax,0x17(%rbp)
140152a72:	4c 8b ea             	mov    %rdx,%r13
140152a75:	48 8b f1             	mov    %rcx,%rsi
140152a78:	0f 57 c0             	xorps  %xmm0,%xmm0
140152a7b:	0f 11 45 97          	movups %xmm0,-0x69(%rbp)
140152a7f:	0f 57 c9             	xorps  %xmm1,%xmm1
140152a82:	66 0f 7f 4d a7       	movdqa %xmm1,-0x59(%rbp)
140152a87:	41 b8 09 00 00 00    	mov    $0x9,%r8d
140152a8d:	48 8d 15 7c 17 9f 00 	lea    0x9f177c(%rip),%rdx        # 0x140b44210
140152a94:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
140152a98:	e8 83 13 eb ff       	call   0x140003e20
140152a9d:	0f 57 c0             	xorps  %xmm0,%xmm0
140152aa0:	0f 11 45 b7          	movups %xmm0,-0x49(%rbp)
140152aa4:	0f 57 c9             	xorps  %xmm1,%xmm1
140152aa7:	66 0f 7f 4d c7       	movdqa %xmm1,-0x39(%rbp)
140152aac:	41 b8 15 00 00 00    	mov    $0x15,%r8d
140152ab2:	48 8d 15 c7 17 9f 00 	lea    0x9f17c7(%rip),%rdx        # 0x140b44280
140152ab9:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
140152abd:	e8 5e 13 eb ff       	call   0x140003e20