1401f82a7:	90                   	nop
1401f82a8:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
1401f82ac:	48 85 db             	test   %rbx,%rbx
1401f82af:	74 39                	je     0x1401f82ea
1401f82b1:	41 8b c6             	mov    %r14d,%eax
1401f82b4:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1401f82b9:	41 03 c6             	add    %r14d,%eax
1401f82bc:	75 2c                	jne    0x1401f82ea
1401f82be:	48 8b 03             	mov    (%rbx),%rax
1401f82c1:	48 8b cb             	mov    %rbx,%rcx
1401f82c4:	48 8b 00             	mov    (%rax),%rax
1401f82c7:	ff 15 6b 49 91 00    	call   *0x91496b(%rip)        # 0x140b0cc38
1401f82cd:	41 8b c6             	mov    %r14d,%eax
1401f82d0:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1401f82d5:	41 03 c6             	add    %r14d,%eax
1401f82d8:	75 10                	jne    0x1401f82ea
1401f82da:	48 8b 03             	mov    (%rbx),%rax
1401f82dd:	48 8b cb             	mov    %rbx,%rcx
1401f82e0:	48 8b 40 08          	mov    0x8(%rax),%rax
1401f82e4:	ff 15 4e 49 91 00    	call   *0x91494e(%rip)        # 0x140b0cc38
1401f82ea:	48 8b c6             	mov    %rsi,%rax
1401f82ed:	48 81 c4 98 00 00 00 	add    $0x98,%rsp
1401f82f4:	41 5f                	pop    %r15
1401f82f6:	41 5e                	pop    %r14
1401f82f8:	5f                   	pop    %rdi
1401f82f9:	5e                   	pop    %rsi
1401f82fa:	5b                   	pop    %rbx
1401f82fb:	5d                   	pop    %rbp
1401f82fc:	c3                   	ret
1401f82fd:	90                   	nop
1401f82fe:	90                   	nop
1401f82ff:	90                   	nop
1401f8300:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401f8305:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401f830a:	56                   	push   %rsi
1401f830b:	57                   	push   %rdi
1401f830c:	41 56                	push   %r14
1401f830e:	48 83 ec 20          	sub    $0x20,%rsp
1401f8312:	4c 8b f2             	mov    %rdx,%r14
1401f8315:	48 8b f1             	mov    %rcx,%rsi
1401f8318:	48 8b 79 08          	mov    0x8(%rcx),%rdi
1401f831c:	48 2b 39             	sub    (%rcx),%rdi
1401f831f:	48 c1 ff 02          	sar    $0x2,%rdi
1401f8323:	48 b8 b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%rax
1401f832a:	db b6 6d
1401f832d:	48 0f af f8          	imul   %rax,%rdi
1401f8331:	48 b8 24 49 92 24 49 	movabs $0x924924924924924,%rax
1401f8338:	92 24 09
1401f833b:	48 39 02             	cmp    %rax,(%rdx)
1401f833e:	0f 87 84 00 00 00    	ja     0x1401f83c8
1401f8344:	48 6b 0a 1c          	imul   $0x1c,(%rdx),%rcx
1401f8348:	33 db                	xor    %ebx,%ebx
1401f834a:	48 85 c9             	test   %rcx,%rcx
1401f834d:	74 43                	je     0x1401f8392
1401f834f:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1401f8356:	72 25                	jb     0x1401f837d
1401f8358:	48 8d 41 27          	lea    0x27(%rcx),%rax
1401f835c:	48 3b c1             	cmp    %rcx,%rax
1401f835f:	76 67                	jbe    0x1401f83c8
1401f8361:	48 8b c8             	mov    %rax,%rcx
1401f8364:	ff 15 5e 45 91 00    	call   *0x91455e(%rip)        # 0x140b0c8c8
1401f836a:	48 85 c0             	test   %rax,%rax
1401f836d:	74 19                	je     0x1401f8388
1401f836f:	48 8d 58 27          	lea    0x27(%rax),%rbx
1401f8373:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1401f8377:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1401f837b:	eb 15                	jmp    0x1401f8392
1401f837d:	ff 15 45 45 91 00    	call   *0x914545(%rip)        # 0x140b0c8c8
1401f8383:	48 85 c0             	test   %rax,%rax
1401f8386:	75 07                	jne    0x1401f838f
1401f8388:	ff 15 0a 41 91 00    	call   *0x91410a(%rip)        # 0x140b0c498
1401f838e:	cc                   	int3
1401f838f:	48 8b d8             	mov    %rax,%rbx
1401f8392:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
1401f8397:	4c 8b 46 08          	mov    0x8(%rsi),%r8
1401f839b:	4c 2b 06             	sub    (%rsi),%r8
1401f839e:	48 8b 16             	mov    (%rsi),%rdx
1401f83a1:	48 8b cb             	mov    %rbx,%rcx
1401f83a4:	e8 bd 80 8f 00       	call   0x140af0466
1401f83a9:	4d 8b 0e             	mov    (%r14),%r9
1401f83ac:	4c 8b c7             	mov    %rdi,%r8
1401f83af:	48 8b d3             	mov    %rbx,%rdx
1401f83b2:	48 8b ce             	mov    %rsi,%rcx
1401f83b5:	e8 36 1a f9 ff       	call   0x140189df0
1401f83ba:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1401f83bf:	48 83 c4 20          	add    $0x20,%rsp
1401f83c3:	41 5e                	pop    %r14
1401f83c5:	5f                   	pop    %rdi
1401f83c6:	5e                   	pop    %rsi
1401f83c7:	c3                   	ret
1401f83c8:	e8 03 b9 e0 ff       	call   0x140003cd0
1401f83cd:	cc                   	int3
1401f83ce:	90                   	nop
1401f83cf:	90                   	nop
1401f83d0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401f83d5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401f83da:	56                   	push   %rsi
1401f83db:	57                   	push   %rdi
1401f83dc:	41 56                	push   %r14
1401f83de:	48 83 ec 20          	sub    $0x20,%rsp
1401f83e2:	4c 8b f2             	mov    %rdx,%r14
1401f83e5:	48 8b d9             	mov    %rcx,%rbx
1401f83e8:	48 8b 79 08          	mov    0x8(%rcx),%rdi
1401f83ec:	48 2b 39             	sub    (%rcx),%rdi
1401f83ef:	48 c1 ff 02          	sar    $0x2,%rdi
1401f83f3:	e8 58 9f e2 ff       	call   0x140022350
1401f83f8:	48 8b f0             	mov    %rax,%rsi
1401f83fb:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401f8400:	4c 8b 43 08          	mov    0x8(%rbx),%r8
1401f8404:	4c 2b 03             	sub    (%rbx),%r8
1401f8407:	48 8b 13             	mov    (%rbx),%rdx
1401f840a:	48 8b c8             	mov    %rax,%rcx
1401f840d:	e8 54 80 8f 00       	call   0x140af0466
1401f8412:	4d 8b 0e             	mov    (%r14),%r9
1401f8415:	4c 8b c7             	mov    %rdi,%r8
1401f8418:	48 8b d6             	mov    %rsi,%rdx
1401f841b:	48 8b cb             	mov    %rbx,%rcx
1401f841e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1401f8423:	48 83 c4 20          	add    $0x20,%rsp
1401f8427:	41 5e                	pop    %r14
1401f8429:	5f                   	pop    %rdi
1401f842a:	5e                   	pop    %rsi
1401f842b:	e9 28 9e e3 ff       	jmp    0x140032258
1401f8430:	cc                   	int3
1401f8431:	90                   	nop
1401f8432:	90                   	nop
1401f8433:	90                   	nop
1401f8434:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401f8439:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401f843e:	56                   	push   %rsi
1401f843f:	57                   	push   %rdi
1401f8440:	41 54                	push   %r12
1401f8442:	41 56                	push   %r14
1401f8444:	41 57                	push   %r15
1401f8446:	48 83 ec 20          	sub    $0x20,%rsp
1401f844a:	48 8b f2             	mov    %rdx,%rsi
1401f844d:	4c 8b f1             	mov    %rcx,%r14
1401f8450:	49 b8 24 49 92 24 49 	movabs $0x924924924924924,%r8
1401f8457:	92 24 09
1401f845a:	49 3b d0             	cmp    %r8,%rdx
1401f845d:	0f 87 1d 01 00 00    	ja     0x1401f8580
1401f8463:	4c 8b 79 08          	mov    0x8(%rcx),%r15
1401f8467:	4c 2b 39             	sub    (%rcx),%r15
1401f846a:	49 c1 ff 02          	sar    $0x2,%r15
1401f846e:	48 b8 b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%rax
1401f8475:	db b6 6d
1401f8478:	4c 0f af f8          	imul   %rax,%r15
1401f847c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1401f8480:	49 2b 0e             	sub    (%r14),%rcx
1401f8483:	48 c1 f9 02          	sar    $0x2,%rcx
1401f8487:	48 0f af c8          	imul   %rax,%rcx
1401f848b:	48 8b d1             	mov    %rcx,%rdx
1401f848e:	48 d1 ea             	shr    $1,%rdx
1401f8491:	49 8b c0             	mov    %r8,%rax
1401f8494:	48 2b c2             	sub    %rdx,%rax
1401f8497:	48 3b c8             	cmp    %rax,%rcx
1401f849a:	76 05                	jbe    0x1401f84a1
1401f849c:	49 8b f8             	mov    %r8,%rdi
1401f849f:	eb 0b                	jmp    0x1401f84ac
1401f84a1:	48 8d 3c 0a          	lea    (%rdx,%rcx,1),%rdi
1401f84a5:	48 3b fe             	cmp    %rsi,%rdi
1401f84a8:	48 0f 42 fe          	cmovb  %rsi,%rdi
1401f84ac:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
1401f84b1:	49 3b f8             	cmp    %r8,%rdi
1401f84b4:	0f 87 c0 00 00 00    	ja     0x1401f857a
1401f84ba:	48 6b cf 1c          	imul   $0x1c,%rdi,%rcx
1401f84be:	45 33 e4             	xor    %r12d,%r12d
1401f84c1:	48 85 c9             	test   %rcx,%rcx
1401f84c4:	75 6a                	jne    0x1401f8530
1401f84c6:	41 8b dc             	mov    %r12d,%ebx
1401f84c9:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
1401f84ce:	49 6b c7 1c          	imul   $0x1c,%r15,%rax
1401f84d2:	48 83 c0 04          	add    $0x4,%rax
1401f84d6:	48 8b ce             	mov    %rsi,%rcx
1401f84d9:	49 2b cf             	sub    %r15,%rcx
1401f84dc:	74 1d                	je     0x1401f84fb
1401f84de:	48 03 c3             	add    %rbx,%rax
1401f84e1:	4c 89 60 04          	mov    %r12,0x4(%rax)
1401f84e5:	4c 89 60 0c          	mov    %r12,0xc(%rax)
1401f84e9:	44 89 60 14          	mov    %r12d,0x14(%rax)
1401f84ed:	4c 89 60 fc          	mov    %r12,-0x4(%rax)
1401f84f1:	48 8d 40 1c          	lea    0x1c(%rax),%rax
1401f84f5:	48 83 e9 01          	sub    $0x1,%rcx
1401f84f9:	75 e6                	jne    0x1401f84e1
1401f84fb:	4d 8b 46 08          	mov    0x8(%r14),%r8
1401f84ff:	4d 2b 06             	sub    (%r14),%r8
1401f8502:	49 8b 16             	mov    (%r14),%rdx
1401f8505:	48 8b cb             	mov    %rbx,%rcx
1401f8508:	e8 59 7f 8f 00       	call   0x140af0466
1401f850d:	4c 8b cf             	mov    %rdi,%r9
1401f8510:	4c 8b c6             	mov    %rsi,%r8
1401f8513:	48 8b d3             	mov    %rbx,%rdx
1401f8516:	49 8b ce             	mov    %r14,%rcx
1401f8519:	e8 d2 18 f9 ff       	call   0x140189df0
1401f851e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1401f8523:	48 83 c4 20          	add    $0x20,%rsp
1401f8527:	41 5f                	pop    %r15
1401f8529:	41 5e                	pop    %r14
1401f852b:	41 5c                	pop    %r12
1401f852d:	5f                   	pop    %rdi
1401f852e:	5e                   	pop    %rsi
1401f852f:	c3                   	ret
1401f8530:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1401f8537:	72 28                	jb     0x1401f8561
1401f8539:	48 8d 41 27          	lea    0x27(%rcx),%rax
1401f853d:	48 3b c1             	cmp    %rcx,%rax
1401f8540:	76 38                	jbe    0x1401f857a
1401f8542:	48 8b c8             	mov    %rax,%rcx
1401f8545:	ff 15 7d 43 91 00    	call   *0x91437d(%rip)        # 0x140b0c8c8
1401f854b:	48 85 c0             	test   %rax,%rax
1401f854e:	74 23                	je     0x1401f8573
1401f8550:	48 8d 58 27          	lea    0x27(%rax),%rbx
1401f8554:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1401f8558:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1401f855c:	e9 68 ff ff ff       	jmp    0x1401f84c9
1401f8561:	ff 15 61 43 91 00    	call   *0x914361(%rip)        # 0x140b0c8c8
1401f8567:	48 8b d8             	mov    %rax,%rbx
1401f856a:	48 85 c0             	test   %rax,%rax
1401f856d:	0f 85 56 ff ff ff    	jne    0x1401f84c9
1401f8573:	ff 15 1f 3f 91 00    	call   *0x913f1f(%rip)        # 0x140b0c498
1401f8579:	cc                   	int3
1401f857a:	e8 51 b7 e0 ff       	call   0x140003cd0
1401f857f:	cc                   	int3
1401f8580:	e8 e3 37 e2 ff       	call   0x14001bd68
1401f8585:	cc                   	int3
1401f8586:	90                   	nop
1401f8587:	90                   	nop
1401f8588:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401f858d:	57                   	push   %rdi
1401f858e:	48 83 ec 30          	sub    $0x30,%rsp
1401f8592:	0f 29 74 24 20       	movaps %xmm6,0x20(%rsp)
1401f8597:	0f 57 c0             	xorps  %xmm0,%xmm0
1401f859a:	0f 57 f6             	xorps  %xmm6,%xmm6
1401f859d:	8b c1                	mov    %ecx,%eax
1401f859f:	49 8b d9             	mov    %r9,%rbx
1401f85a2:	49 8b f8             	mov    %r8,%rdi
1401f85a5:	f3 48 0f 2a f0       	cvtsi2ss %rax,%xmm6
1401f85aa:	8b c2                	mov    %edx,%eax
1401f85ac:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1401f85b1:	f3 0f 59 35 7f 8a 9b 	mulss  0x9b8a7f(%rip),%xmm6        # 0x140bb1038
1401f85b8:	00
1401f85b9:	f3 0f 59 05 77 8a 9b 	mulss  0x9b8a77(%rip),%xmm0        # 0x140bb1038
1401f85c0:	00
1401f85c1:	0f 28 ce             	movaps %xmm6,%xmm1
1401f85c4:	f3 0f 59 ce          	mulss  %xmm6,%xmm1
1401f85c8:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1401f85cc:	e8 97 9d 8f 00       	call   0x140af2368
1401f85d1:	0f 28 d0             	movaps %xmm0,%xmm2
1401f85d4:	0f 2f 15 cd 8c 9b 00 	comiss 0x9b8ccd(%rip),%xmm2        # 0x140bb12a8
1401f85db:	76 40                	jbe    0x1401f861d
1401f85dd:	f3 0f 59 15 5f 8a 9b 	mulss  0x9b8a5f(%rip),%xmm2        # 0x140bb1044
1401f85e4:	00
1401f85e5:	f3 0f 10 05 17 8d 9b 	movss  0x9b8d17(%rip),%xmm0        # 0x140bb1304
1401f85ec:	00
1401f85ed:	f3 0f 5c c6          	subss  %xmm6,%xmm0
1401f85f1:	f3 0f 5c 15 3b 8b 9b 	subss  0x9b8b3b(%rip),%xmm2        # 0x140bb1134
1401f85f8:	00
1401f85f9:	f3 0f 59 15 83 8a 9b 	mulss  0x9b8a83(%rip),%xmm2        # 0x140bb1084
1401f8600:	00
1401f8601:	f3 0f 58 15 2b 8b 9b 	addss  0x9b8b2b(%rip),%xmm2        # 0x140bb1134
1401f8608:	00
1401f8609:	f3 0f 59 c2          	mulss  %xmm2,%xmm0
1401f860d:	f3 0f 59 d6          	mulss  %xmm6,%xmm2
1401f8611:	f3 0f 2c c0          	cvttss2si %xmm0,%eax
1401f8615:	f3 0f 2c ca          	cvttss2si %xmm2,%ecx
1401f8619:	f6 d0                	not    %al
1401f861b:	eb 04                	jmp    0x1401f8621
1401f861d:	b0 ff                	mov    $0xff,%al
1401f861f:	32 c9                	xor    %cl,%cl
1401f8621:	88 0f                	mov    %cl,(%rdi)
1401f8623:	88 03                	mov    %al,(%rbx)
1401f8625:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401f862a:	0f 28 74 24 20       	movaps 0x20(%rsp),%xmm6
1401f862f:	48 83 c4 30          	add    $0x30,%rsp
1401f8633:	5f                   	pop    %rdi
1401f8634:	c3                   	ret
1401f8635:	90                   	nop
1401f8636:	90                   	nop
1401f8637:	90                   	nop
1401f8638:	4c 8b dc             	mov    %rsp,%r11
1401f863b:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1401f863f:	49 89 6b 18          	mov    %rbp,0x18(%r11)
1401f8643:	49 89 73 20          	mov    %rsi,0x20(%r11)
1401f8647:	49 89 4b 08          	mov    %rcx,0x8(%r11)
1401f864b:	57                   	push   %rdi
1401f864c:	41 54                	push   %r12
1401f864e:	41 55                	push   %r13
1401f8650:	41 56                	push   %r14
1401f8652:	41 57                	push   %r15
1401f8654:	48 83 ec 40          	sub    $0x40,%rsp
1401f8658:	49 8b d8             	mov    %r8,%rbx
1401f865b:	48 8b fa             	mov    %rdx,%rdi
1401f865e:	4c 8b f1             	mov    %rcx,%r14
1401f8661:	48 8b 01             	mov    (%rcx),%rax
1401f8664:	48 63 28             	movslq (%rax),%rbp
1401f8667:	44 8b 78 08          	mov    0x8(%rax),%r15d
1401f866b:	4c 63 60 28          	movslq 0x28(%rax),%r12
1401f866f:	41 8b c7             	mov    %r15d,%eax
1401f8672:	0f af c5             	imul   %ebp,%eax
1401f8675:	48 63 f0             	movslq %eax,%rsi
1401f8678:	48 8b d6             	mov    %rsi,%rdx
1401f867b:	49 8d 4b b8          	lea    -0x48(%r11),%rcx
1401f867f:	e8 94 08 f8 ff       	call   0x140178f18
1401f8684:	48 8b d0             	mov    %rax,%rdx
1401f8687:	48 8b cf             	mov    %rdi,%rcx
1401f868a:	e8 a9 59 f2 ff       	call   0x14011e038
1401f868f:	41 bd 00 10 00 00    	mov    $0x1000,%r13d
1401f8695:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1401f869a:	48 85 c9             	test   %rcx,%rcx
1401f869d:	74 32                	je     0x1401f86d1
1401f869f:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1401f86a4:	48 2b c1             	sub    %rcx,%rax
1401f86a7:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1401f86ab:	48 8b d1             	mov    %rcx,%rdx
1401f86ae:	49 3b c5             	cmp    %r13,%rax
1401f86b1:	72 18                	jb     0x1401f86cb
1401f86b3:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401f86b7:	48 2b d1             	sub    %rcx,%rdx
1401f86ba:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1401f86be:	48 83 f8 1f          	cmp    $0x1f,%rax
1401f86c2:	76 07                	jbe    0x1401f86cb
1401f86c4:	ff 15 ce 42 91 00    	call   *0x9142ce(%rip)        # 0x140b0c998
1401f86ca:	cc                   	int3
1401f86cb:	ff 15 ef 41 91 00    	call   *0x9141ef(%rip)        # 0x140b0c8c0
1401f86d1:	48 8b d6             	mov    %rsi,%rdx
1401f86d4:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401f86d9:	e8 3a 08 f8 ff       	call   0x140178f18
1401f86de:	48 8b d0             	mov    %rax,%rdx
1401f86e1:	48 8b cb             	mov    %rbx,%rcx
1401f86e4:	e8 4f 59 f2 ff       	call   0x14011e038
1401f86e9:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1401f86ee:	48 85 c9             	test   %rcx,%rcx
1401f86f1:	74 32                	je     0x1401f8725
1401f86f3:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1401f86f8:	48 2b c1             	sub    %rcx,%rax
1401f86fb:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1401f86ff:	48 8b d1             	mov    %rcx,%rdx
1401f8702:	49 3b c5             	cmp    %r13,%rax
1401f8705:	72 18                	jb     0x1401f871f
1401f8707:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401f870b:	48 2b d1             	sub    %rcx,%rdx
1401f870e:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1401f8712:	48 83 f8 1f          	cmp    $0x1f,%rax
1401f8716:	76 07                	jbe    0x1401f871f
1401f8718:	ff 15 7a 42 91 00    	call   *0x91427a(%rip)        # 0x140b0c998
1401f871e:	cc                   	int3
1401f871f:	ff 15 9b 41 91 00    	call   *0x91419b(%rip)        # 0x140b0c8c0
1401f8725:	49 8b 06             	mov    (%r14),%rax
1401f8728:	4c 8b 50 10          	mov    0x10(%rax),%r10
1401f872c:	4c 39 50 18          	cmp    %r10,0x18(%rax)