14002a533:	49 8d 4c 24 ff       	lea    -0x1(%r12),%rcx
14002a538:	49 85 cc             	test   %rcx,%r12
14002a53b:	74 5d                	je     0x14002a59a
14002a53d:	4c 39 e0             	cmp    %r12,%rax
14002a540:	72 08                	jb     0x14002a54a
14002a542:	31 d2                	xor    %edx,%edx
14002a544:	49 f7 f4             	div    %r12
14002a547:	48 89 d0             	mov    %rdx,%rax
14002a54a:	48 8b 0f             	mov    (%rdi),%rcx
14002a54d:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
14002a551:	eb 0e                	jmp    0x14002a561
14002a553:	49 21 df             	and    %rbx,%r15
14002a556:	eb b0                	jmp    0x14002a508
14002a558:	48 8b 01             	mov    (%rcx),%rax
14002a55b:	49 89 06             	mov    %rax,(%r14)
14002a55e:	4c 89 31             	mov    %r14,(%rcx)
14002a561:	48 ff 47 18          	incq   0x18(%rdi)
14002a565:	b0 01                	mov    $0x1,%al
14002a567:	4c 89 36             	mov    %r14,(%rsi)
14002a56a:	88 46 08             	mov    %al,0x8(%rsi)
14002a56d:	48 89 f0             	mov    %rsi,%rax
14002a570:	48 83 c4 28          	add    $0x28,%rsp
14002a574:	5b                   	pop    %rbx
14002a575:	5f                   	pop    %rdi
14002a576:	5e                   	pop    %rsi
14002a577:	41 5c                	pop    %r12
14002a579:	41 5e                	pop    %r14
14002a57b:	41 5f                	pop    %r15
14002a57d:	c3                   	ret
14002a57e:	0f 0b                	ud2
14002a580:	41 39 5e 10          	cmp    %ebx,0x10(%r14)
14002a584:	0f 85 24 fe ff ff    	jne    0x14002a3ae
14002a58a:	eb 0a                	jmp    0x14002a596
14002a58c:	41 39 5e 10          	cmp    %ebx,0x10(%r14)
14002a590:	0f 85 ea fd ff ff    	jne    0x14002a380
14002a596:	31 c0                	xor    %eax,%eax
14002a598:	eb cd                	jmp    0x14002a567
14002a59a:	48 21 c8             	and    %rcx,%rax
14002a59d:	eb ab                	jmp    0x14002a54a
14002a59f:	49 89 cf             	mov    %rcx,%r15
14002a5a2:	e9 27 ff ff ff       	jmp    0x14002a4ce
14002a5a7:	49 89 df             	mov    %rbx,%r15
14002a5aa:	e9 59 ff ff ff       	jmp    0x14002a508
14002a5af:	0f 83 31 ff ff ff    	jae    0x14002a4e6
14002a5b5:	48 8b 47 18          	mov    0x18(%rdi),%rax
14002a5b9:	48 85 c0             	test   %rax,%rax
14002a5bc:	79 1a                	jns    0x14002a5d8
14002a5be:	48 89 c1             	mov    %rax,%rcx
14002a5c1:	48 d1 e9             	shr    $1,%rcx
14002a5c4:	83 e0 01             	and    $0x1,%eax
14002a5c7:	48 09 c8             	or     %rcx,%rax
14002a5ca:	0f 57 c0             	xorps  %xmm0,%xmm0
14002a5cd:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14002a5d2:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14002a5d6:	eb 08                	jmp    0x14002a5e0
14002a5d8:	0f 57 c0             	xorps  %xmm0,%xmm0
14002a5db:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14002a5e0:	f3 0f 5e 47 20       	divss  0x20(%rdi),%xmm0
14002a5e5:	e8 26 28 07 00       	call   0x14009ce10
14002a5ea:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
14002a5ef:	48 89 ca             	mov    %rcx,%rdx
14002a5f2:	f3 0f 5c 05 e6 2a 0c 	subss  0xc2ae6(%rip),%xmm0        # 0x1400ed0e0
14002a5f9:	00
14002a5fa:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14002a5ff:	48 c1 fa 3f          	sar    $0x3f,%rdx
14002a603:	48 21 d0             	and    %rdx,%rax
14002a606:	48 09 c8             	or     %rcx,%rax
14002a609:	49 83 fc 03          	cmp    $0x3,%r12
14002a60d:	72 7d                	jb     0x14002a68c
14002a60f:	4c 89 e1             	mov    %r12,%rcx
14002a612:	48 d1 e9             	shr    $1,%rcx
14002a615:	48 ba 55 55 55 55 55 	movabs $0x5555555555555555,%rdx
14002a61c:	55 55 55
14002a61f:	48 21 ca             	and    %rcx,%rdx
14002a622:	4c 89 e1             	mov    %r12,%rcx
14002a625:	48 29 d1             	sub    %rdx,%rcx
14002a628:	48 ba 33 33 33 33 33 	movabs $0x3333333333333333,%rdx
14002a62f:	33 33 33
14002a632:	49 89 c8             	mov    %rcx,%r8
14002a635:	49 c1 e8 02          	shr    $0x2,%r8
14002a639:	48 21 d1             	and    %rdx,%rcx
14002a63c:	49 21 d0             	and    %rdx,%r8
14002a63f:	49 01 c8             	add    %rcx,%r8
14002a642:	4c 89 c1             	mov    %r8,%rcx
14002a645:	48 c1 e9 04          	shr    $0x4,%rcx
14002a649:	4c 01 c1             	add    %r8,%rcx
14002a64c:	48 ba 0f 0f 0f 0f 0f 	movabs $0xf0f0f0f0f0f0f0f,%rdx
14002a653:	0f 0f 0f
14002a656:	48 21 ca             	and    %rcx,%rdx
14002a659:	48 b9 01 01 01 01 01 	movabs $0x101010101010101,%rcx
14002a660:	01 01 01
14002a663:	48 0f af ca          	imul   %rdx,%rcx
14002a667:	48 c1 e9 38          	shr    $0x38,%rcx
14002a66b:	83 f9 01             	cmp    $0x1,%ecx
14002a66e:	77 1c                	ja     0x14002a68c
14002a670:	48 83 f8 02          	cmp    $0x2,%rax
14002a674:	72 1e                	jb     0x14002a694
14002a676:	48 ff c8             	dec    %rax
14002a679:	48 0f bd c8          	bsr    %rax,%rcx
14002a67d:	83 f1 3f             	xor    $0x3f,%ecx
14002a680:	f6 d9                	neg    %cl
14002a682:	b8 01 00 00 00       	mov    $0x1,%eax
14002a687:	48 d3 e0             	shl    %cl,%rax
14002a68a:	eb 08                	jmp    0x14002a694
14002a68c:	48 89 c1             	mov    %rax,%rcx
14002a68f:	e8 ac f8 02 00       	call   0x140059f40
14002a694:	49 39 c7             	cmp    %rax,%r15
14002a697:	4c 0f 46 f8          	cmovbe %rax,%r15
14002a69b:	4d 39 e7             	cmp    %r12,%r15
14002a69e:	0f 82 37 fe ff ff    	jb     0x14002a4db
14002a6a4:	e9 3d fe ff ff       	jmp    0x14002a4e6
14002a6a9:	cc                   	int3
14002a6aa:	cc                   	int3
14002a6ab:	cc                   	int3
14002a6ac:	cc                   	int3
14002a6ad:	cc                   	int3
14002a6ae:	cc                   	int3
14002a6af:	cc                   	int3
14002a6b0:	56                   	push   %rsi
14002a6b1:	57                   	push   %rdi
14002a6b2:	48 83 ec 28          	sub    $0x28,%rsp
14002a6b6:	48 89 ce             	mov    %rcx,%rsi
14002a6b9:	48 85 d2             	test   %rdx,%rdx
14002a6bc:	0f 84 c9 00 00 00    	je     0x14002a78b
14002a6c2:	48 89 d7             	mov    %rdx,%rdi
14002a6c5:	48 89 d0             	mov    %rdx,%rax
14002a6c8:	48 c1 e8 3d          	shr    $0x3d,%rax
14002a6cc:	0f 85 b4 00 00 00    	jne    0x14002a786
14002a6d2:	48 8d 0c fd 00 00 00 	lea    0x0(,%rdi,8),%rcx
14002a6d9:	00
14002a6da:	e8 b5 37 04 00       	call   0x14006de94
14002a6df:	48 8b 0e             	mov    (%rsi),%rcx
14002a6e2:	48 89 06             	mov    %rax,(%rsi)
14002a6e5:	48 85 c9             	test   %rcx,%rcx
14002a6e8:	74 05                	je     0x14002a6ef
14002a6ea:	e8 e1 37 04 00       	call   0x14006ded0
14002a6ef:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
14002a6f3:	31 c0                	xor    %eax,%eax
14002a6f5:	48 8b 0e             	mov    (%rsi),%rcx
14002a6f8:	48 c7 04 c1 00 00 00 	movq   $0x0,(%rcx,%rax,8)
14002a6ff:	00
14002a700:	48 ff c0             	inc    %rax
14002a703:	48 39 c7             	cmp    %rax,%rdi
14002a706:	75 ed                	jne    0x14002a6f5
14002a708:	4c 8b 46 10          	mov    0x10(%rsi),%r8
14002a70c:	4d 85 c0             	test   %r8,%r8
14002a70f:	74 6e                	je     0x14002a77f
14002a711:	4c 8d 4e 10          	lea    0x10(%rsi),%r9
14002a715:	49 8b 48 08          	mov    0x8(%r8),%rcx
14002a719:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
14002a71d:	48 85 c7             	test   %rax,%rdi
14002a720:	0f 84 88 00 00 00    	je     0x14002a7ae
14002a726:	48 39 f9             	cmp    %rdi,%rcx
14002a729:	72 0b                	jb     0x14002a736
14002a72b:	48 89 c8             	mov    %rcx,%rax
14002a72e:	31 d2                	xor    %edx,%edx
14002a730:	48 f7 f7             	div    %rdi
14002a733:	48 89 d1             	mov    %rdx,%rcx
14002a736:	48 8b 06             	mov    (%rsi),%rax
14002a739:	4c 89 0c c8          	mov    %r9,(%rax,%rcx,8)
14002a73d:	4d 8b 08             	mov    (%r8),%r9
14002a740:	eb 2d                	jmp    0x14002a76f
14002a742:	48 89 c8             	mov    %rcx,%rax
14002a745:	eb 1f                	jmp    0x14002a766
14002a747:	31 d2                	xor    %edx,%edx
14002a749:	48 f7 f7             	div    %rdi
14002a74c:	48 89 d0             	mov    %rdx,%rax
14002a74f:	48 39 c8             	cmp    %rcx,%rax
14002a752:	74 ee                	je     0x14002a742
14002a754:	48 8b 16             	mov    (%rsi),%rdx
14002a757:	48 83 3c c2 00       	cmpq   $0x0,(%rdx,%rax,8)
14002a75c:	0f 85 80 00 00 00    	jne    0x14002a7e2
14002a762:	4c 89 04 c2          	mov    %r8,(%rdx,%rax,8)
14002a766:	4d 89 c8             	mov    %r9,%r8
14002a769:	4d 8b 09             	mov    (%r9),%r9
14002a76c:	48 89 c1             	mov    %rax,%rcx
14002a76f:	4d 85 c9             	test   %r9,%r9
14002a772:	74 0b                	je     0x14002a77f
14002a774:	49 8b 41 08          	mov    0x8(%r9),%rax
14002a778:	48 39 f8             	cmp    %rdi,%rax
14002a77b:	72 d2                	jb     0x14002a74f
14002a77d:	eb c8                	jmp    0x14002a747
14002a77f:	48 83 c4 28          	add    $0x28,%rsp
14002a783:	5f                   	pop    %rdi
14002a784:	5e                   	pop    %rsi
14002a785:	c3                   	ret
14002a786:	e8 f5 4b 07 00       	call   0x14009f380
14002a78b:	48 8b 0e             	mov    (%rsi),%rcx
14002a78e:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
14002a795:	48 85 c9             	test   %rcx,%rcx
14002a798:	74 05                	je     0x14002a79f
14002a79a:	e8 31 37 04 00       	call   0x14006ded0
14002a79f:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14002a7a6:	00
14002a7a7:	eb d6                	jmp    0x14002a77f
14002a7a9:	49 89 d0             	mov    %rdx,%r8
14002a7ac:	eb 0a                	jmp    0x14002a7b8
14002a7ae:	48 21 c1             	and    %rax,%rcx
14002a7b1:	48 8b 16             	mov    (%rsi),%rdx
14002a7b4:	4c 89 0c ca          	mov    %r9,(%rdx,%rcx,8)
14002a7b8:	49 8b 10             	mov    (%r8),%rdx
14002a7bb:	48 85 d2             	test   %rdx,%rdx
14002a7be:	74 bf                	je     0x14002a77f
14002a7c0:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
14002a7c4:	49 21 c1             	and    %rax,%r9
14002a7c7:	49 39 c9             	cmp    %rcx,%r9
14002a7ca:	74 dd                	je     0x14002a7a9
14002a7cc:	4c 8b 16             	mov    (%rsi),%r10
14002a7cf:	4b 83 3c ca 00       	cmpq   $0x0,(%r10,%r9,8)
14002a7d4:	75 31                	jne    0x14002a807
14002a7d6:	4f 89 04 ca          	mov    %r8,(%r10,%r9,8)
14002a7da:	49 89 d0             	mov    %rdx,%r8
14002a7dd:	4c 89 c9             	mov    %r9,%rcx
14002a7e0:	eb d6                	jmp    0x14002a7b8
14002a7e2:	49 8b 11             	mov    (%r9),%rdx
14002a7e5:	49 89 10             	mov    %rdx,(%r8)
14002a7e8:	48 8b 16             	mov    (%rsi),%rdx
14002a7eb:	48 8b 14 c2          	mov    (%rdx,%rax,8),%rdx
14002a7ef:	48 8b 12             	mov    (%rdx),%rdx
14002a7f2:	49 89 11             	mov    %rdx,(%r9)
14002a7f5:	48 8b 16             	mov    (%rsi),%rdx
14002a7f8:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
14002a7fc:	4c 89 08             	mov    %r9,(%rax)
14002a7ff:	4d 89 c1             	mov    %r8,%r9
14002a802:	e9 3b ff ff ff       	jmp    0x14002a742
14002a807:	4c 8b 12             	mov    (%rdx),%r10
14002a80a:	4d 89 10             	mov    %r10,(%r8)
14002a80d:	4c 8b 16             	mov    (%rsi),%r10
14002a810:	4f 8b 14 ca          	mov    (%r10,%r9,8),%r10
14002a814:	4d 8b 12             	mov    (%r10),%r10
14002a817:	4c 89 12             	mov    %r10,(%rdx)
14002a81a:	4c 8b 16             	mov    (%rsi),%r10
14002a81d:	4f 8b 0c ca          	mov    (%r10,%r9,8),%r9
14002a821:	49 89 11             	mov    %rdx,(%r9)
14002a824:	eb 92                	jmp    0x14002a7b8
14002a826:	cc                   	int3
14002a827:	cc                   	int3
14002a828:	cc                   	int3
14002a829:	cc                   	int3
14002a82a:	cc                   	int3
14002a82b:	cc                   	int3
14002a82c:	cc                   	int3
14002a82d:	cc                   	int3
14002a82e:	cc                   	int3
14002a82f:	cc                   	int3
14002a830:	41 57                	push   %r15
14002a832:	41 56                	push   %r14
14002a834:	41 55                	push   %r13
14002a836:	41 54                	push   %r12
14002a838:	56                   	push   %rsi
14002a839:	57                   	push   %rdi
14002a83a:	55                   	push   %rbp
14002a83b:	53                   	push   %rbx
14002a83c:	48 81 ec e8 00 00 00 	sub    $0xe8,%rsp
14002a843:	0f 29 b4 24 d0 00 00 	movaps %xmm6,0xd0(%rsp)
14002a84a:	00
14002a84b:	48 8b 05 ee 67 0d 00 	mov    0xd67ee(%rip),%rax        # 0x140101040
14002a852:	48 31 e0             	xor    %rsp,%rax
14002a855:	48 89 84 24 c8 00 00 	mov    %rax,0xc8(%rsp)
14002a85c:	00
14002a85d:	48 85 c9             	test   %rcx,%rcx
14002a860:	0f 84 98 01 00 00    	je     0x14002a9fe
14002a866:	4c 89 ce             	mov    %r9,%rsi
14002a869:	4c 89 c7             	mov    %r8,%rdi
14002a86c:	48 89 d3             	mov    %rdx,%rbx
14002a86f:	49 89 ce             	mov    %rcx,%r14
14002a872:	31 d2                	xor    %edx,%edx
14002a874:	45 31 c0             	xor    %r8d,%r8d
14002a877:	e8 e0 ae 05 00       	call   0x14008575c
14002a87c:	0f 28 35 8d 60 0b 00 	movaps 0xb608d(%rip),%xmm6        # 0x1400e0910
14002a883:	4c 8d bc 24 80 00 00 	lea    0x80(%rsp),%r15
14002a88a:	00
14002a88b:	41 0f 29 77 30       	movaps %xmm6,0x30(%r15)
14002a890:	41 0f 29 77 20       	movaps %xmm6,0x20(%r15)
14002a895:	41 0f 29 77 10       	movaps %xmm6,0x10(%r15)
14002a89a:	41 0f 29 37          	movaps %xmm6,(%r15)
14002a89e:	48 8d 15 e3 28 0c 00 	lea    0xc28e3(%rip),%rdx        # 0x1400ed188
14002a8a5:	4c 8d 05 be 28 0c 00 	lea    0xc28be(%rip),%r8        # 0x1400ed16a
14002a8ac:	4c 8d 64 24 40       	lea    0x40(%rsp),%r12
14002a8b1:	4c 89 e1             	mov    %r12,%rcx
14002a8b4:	41 b9 52 00 00 00    	mov    $0x52,%r9d
14002a8ba:	e8 c1 51 03 00       	call   0x14005fa80
14002a8bf:	4c 89 f9             	mov    %r15,%rcx
14002a8c2:	4c 89 e2             	mov    %r12,%rdx
14002a8c5:	45 31 c0             	xor    %r8d,%r8d
14002a8c8:	e8 d3 8b 03 00       	call   0x1400634a0
14002a8cd:	0f 57 c0             	xorps  %xmm0,%xmm0
14002a8d0:	41 0f 29 44 24 20    	movaps %xmm0,0x20(%r12)
14002a8d6:	41 0f 29 44 24 10    	movaps %xmm0,0x10(%r12)
14002a8dc:	41 0f 29 04 24       	movaps %xmm0,(%r12)
14002a8e1:	41 c7 44 24 30 00 00 	movl   $0x0,0x30(%r12)
14002a8e8:	00 00
14002a8ea:	4c 89 f1             	mov    %r14,%rcx
14002a8ed:	e8 ca 3c 05 00       	call   0x14007e5bc
14002a8f2:	89 c1                	mov    %eax,%ecx
14002a8f4:	e8 23 3d 05 00       	call   0x14007e61c
14002a8f9:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
14002a8fe:	48 89 c1             	mov    %rax,%rcx
14002a901:	ff 15 79 cd 0c 00    	call   *0xccd79(%rip)        # 0x1400f7680
14002a907:	85 c0                	test   %eax,%eax
14002a909:	0f 84 f3 00 00 00    	je     0x14002aa02
14002a90f:	8b 44 24 60          	mov    0x60(%rsp),%eax
14002a913:	8b 4c 24 64          	mov    0x64(%rsp),%ecx
14002a917:	48 c1 e0 20          	shl    $0x20,%rax
14002a91b:	48 09 c8             	or     %rcx,%rax
14002a91e:	48 85 c0             	test   %rax,%rax
14002a921:	41 bf ff ff 00 00    	mov    $0xffff,%r15d
14002a927:	4c 0f 4f f8          	cmovg  %rax,%r15
14002a92b:	4c 39 fb             	cmp    %r15,%rbx
14002a92e:	4c 0f 42 fb          	cmovb  %rbx,%r15
14002a932:	49 ff c7             	inc    %r15
14002a935:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14002a93a:	0f 29 31             	movaps %xmm6,(%rcx)
14002a93d:	48 89 fa             	mov    %rdi,%rdx
14002a940:	4d 89 f8             	mov    %r15,%r8
14002a943:	48 89 f0             	mov    %rsi,%rax
14002a946:	ff 15 bc c3 0c 00    	call   *0xcc3bc(%rip)        # 0x1400f6d08
14002a94c:	45 31 ed             	xor    %r13d,%r13d
14002a94f:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14002a954:	4c 01 e9             	add    %r13,%rcx
14002a957:	ba 01 00 00 00       	mov    $0x1,%edx
14002a95c:	4d 89 f8             	mov    %r15,%r8
14002a95f:	4d 89 f1             	mov    %r14,%r9
14002a962:	e8 7d aa 05 00       	call   0x1400853e4
14002a967:	48 85 c0             	test   %rax,%rax
14002a96a:	74 28                	je     0x14002a994
14002a96c:	49 89 c4             	mov    %rax,%r12
14002a96f:	48 89 d8             	mov    %rbx,%rax
14002a972:	4c 29 e8             	sub    %r13,%rax
14002a975:	4c 39 e0             	cmp    %r12,%rax
14002a978:	0f 82 8f 00 00 00    	jb     0x14002aa0d
14002a97e:	4d 01 ec             	add    %r13,%r12
14002a981:	4c 89 f1             	mov    %r14,%rcx
14002a984:	e8 c3 a2 05 00       	call   0x140084c4c
14002a989:	85 c0                	test   %eax,%eax
14002a98b:	0f 84 80 00 00 00    	je     0x14002aa11
14002a991:	4d 89 e5             	mov    %r12,%r13
14002a994:	4c 89 f1             	mov    %r14,%rcx
14002a997:	e8 dc a2 05 00       	call   0x140084c78
14002a99c:	85 c0                	test   %eax,%eax
14002a99e:	40 0f 94 c5          	sete   %bpl
14002a9a2:	4c 89 eb             	mov    %r13,%rbx
14002a9a5:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14002a9aa:	48 89 fa             	mov    %rdi,%rdx
14002a9ad:	49 89 d8             	mov    %rbx,%r8
14002a9b0:	48 89 f0             	mov    %rsi,%rax
14002a9b3:	ff 15 4f c3 0c 00    	call   *0xcc34f(%rip)        # 0x1400f6d08
14002a9b9:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
14002a9c0:	00
14002a9c1:	e8 6a 8b 03 00       	call   0x140063530