14007c361:	ff 15 d1 08 a9 00    	call   *0xa908d1(%rip)        # 0x140b0cc38
14007c367:	83 c8 ff             	or     $0xffffffff,%eax
14007c36a:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
14007c36f:	83 f8 01             	cmp    $0x1,%eax
14007c372:	75 10                	jne    0x14007c384
14007c374:	48 8b 03             	mov    (%rbx),%rax
14007c377:	48 8b cb             	mov    %rbx,%rcx
14007c37a:	48 8b 40 08          	mov    0x8(%rax),%rax
14007c37e:	ff 15 b4 08 a9 00    	call   *0xa908b4(%rip)        # 0x140b0cc38
14007c384:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14007c389:	48 8b c7             	mov    %rdi,%rax
14007c38c:	48 83 c4 40          	add    $0x40,%rsp
14007c390:	5f                   	pop    %rdi
14007c391:	c3                   	ret
14007c392:	90                   	nop
14007c393:	90                   	nop
14007c394:	90                   	nop
14007c395:	90                   	nop
14007c396:	90                   	nop
14007c397:	90                   	nop
14007c398:	90                   	nop
14007c399:	90                   	nop
14007c39a:	90                   	nop
14007c39b:	90                   	nop
14007c39c:	90                   	nop
14007c39d:	90                   	nop
14007c39e:	90                   	nop
14007c39f:	90                   	nop
14007c3a0:	48 8d 05 e1 9e a9 00 	lea    0xa99ee1(%rip),%rax        # 0x140b16288
14007c3a7:	48 89 02             	mov    %rax,(%rdx)
14007c3aa:	8a 41 08             	mov    0x8(%rcx),%al
14007c3ad:	88 42 08             	mov    %al,0x8(%rdx)
14007c3b0:	48 8b c2             	mov    %rdx,%rax
14007c3b3:	c3                   	ret
14007c3b4:	48 8b c4             	mov    %rsp,%rax
14007c3b7:	48 89 58 08          	mov    %rbx,0x8(%rax)
14007c3bb:	48 89 68 10          	mov    %rbp,0x10(%rax)
14007c3bf:	48 89 70 18          	mov    %rsi,0x18(%rax)
14007c3c3:	48 89 78 20          	mov    %rdi,0x20(%rax)
14007c3c7:	41 54                	push   %r12
14007c3c9:	41 56                	push   %r14
14007c3cb:	41 57                	push   %r15
14007c3cd:	48 83 ec 20          	sub    $0x20,%rsp
14007c3d1:	48 8b 39             	mov    (%rcx),%rdi
14007c3d4:	4d 8b f9             	mov    %r9,%r15
14007c3d7:	4d 8b e0             	mov    %r8,%r12
14007c3da:	4c 8b f2             	mov    %rdx,%r14
14007c3dd:	48 8b d9             	mov    %rcx,%rbx
14007c3e0:	48 85 ff             	test   %rdi,%rdi
14007c3e3:	74 7b                	je     0x14007c460
14007c3e5:	48 8b 69 08          	mov    0x8(%rcx),%rbp
14007c3e9:	48 3b fd             	cmp    %rbp,%rdi
14007c3ec:	74 2c                	je     0x14007c41a
14007c3ee:	48 8d 77 18          	lea    0x18(%rdi),%rsi
14007c3f2:	4c 8b 06             	mov    (%rsi),%r8
14007c3f5:	48 8b d6             	mov    %rsi,%rdx
14007c3f8:	48 8b ce             	mov    %rsi,%rcx
14007c3fb:	4d 8b 40 08          	mov    0x8(%r8),%r8
14007c3ff:	e8 28 22 fa ff       	call   0x14001e62c
14007c404:	48 8b 0e             	mov    (%rsi),%rcx
14007c407:	ff 15 b3 04 a9 00    	call   *0xa904b3(%rip)        # 0x140b0c8c0
14007c40d:	48 83 c7 28          	add    $0x28,%rdi
14007c411:	48 83 c6 28          	add    $0x28,%rsi
14007c415:	48 3b fd             	cmp    %rbp,%rdi
14007c418:	75 d8                	jne    0x14007c3f2
14007c41a:	48 8b 0b             	mov    (%rbx),%rcx
14007c41d:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
14007c424:	cc cc cc
14007c427:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007c42b:	48 2b c1             	sub    %rcx,%rax
14007c42e:	48 c1 f8 03          	sar    $0x3,%rax
14007c432:	48 0f af c2          	imul   %rdx,%rax
14007c436:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
14007c43a:	48 c1 e0 03          	shl    $0x3,%rax
14007c43e:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14007c444:	72 14                	jb     0x14007c45a
14007c446:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
14007c44a:	48 2b ca             	sub    %rdx,%rcx
14007c44d:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14007c451:	48 83 f8 1f          	cmp    $0x1f,%rax
14007c455:	77 43                	ja     0x14007c49a
14007c457:	48 8b ca             	mov    %rdx,%rcx
14007c45a:	ff 15 60 04 a9 00    	call   *0xa90460(%rip)        # 0x140b0c8c0
14007c460:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14007c465:	4b 8d 04 a4          	lea    (%r12,%r12,4),%rax
14007c469:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14007c46e:	49 8d 0c c6          	lea    (%r14,%rax,8),%rcx
14007c472:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14007c477:	4b 8d 04 bf          	lea    (%r15,%r15,4),%rax
14007c47b:	4c 89 33             	mov    %r14,(%rbx)
14007c47e:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
14007c482:	49 8d 0c c6          	lea    (%r14,%rax,8),%rcx
14007c486:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
14007c48a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14007c48f:	48 83 c4 20          	add    $0x20,%rsp
14007c493:	41 5f                	pop    %r15
14007c495:	41 5e                	pop    %r14
14007c497:	41 5c                	pop    %r12
14007c499:	c3                   	ret
14007c49a:	ff 15 f8 04 a9 00    	call   *0xa904f8(%rip)        # 0x140b0c998
14007c4a0:	cc                   	int3
14007c4a1:	90                   	nop
14007c4a2:	90                   	nop
14007c4a3:	90                   	nop
14007c4a4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14007c4a9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14007c4ae:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14007c4b3:	f3 0f 10 15 15 4c b3 	movss  0xb34c15(%rip),%xmm2        # 0x140bb10d0
14007c4ba:	00
14007c4bb:	49 8d 70 ff          	lea    -0x1(%r8),%rsi
14007c4bf:	48 8b de             	mov    %rsi,%rbx
14007c4c2:	4c 8b d1             	mov    %rcx,%r10
14007c4c5:	48 d1 fb             	sar    $1,%rbx
14007c4c8:	48 8b fa             	mov    %rdx,%rdi
14007c4cb:	4c 8b da             	mov    %rdx,%r11
14007c4ce:	48 3b d3             	cmp    %rbx,%rdx
14007c4d1:	7d 5a                	jge    0x14007c52d
14007c4d3:	4b 8d 0c 1b          	lea    (%r11,%r11,1),%rcx
14007c4d7:	45 33 db             	xor    %r11d,%r11d
14007c4da:	48 8b c1             	mov    %rcx,%rax
14007c4dd:	48 03 c0             	add    %rax,%rax
14007c4e0:	f3 41 0f 10 44 c2 18 	movss  0x18(%r10,%rax,8),%xmm0
14007c4e7:	f3 41 0f 58 44 c2 10 	addss  0x10(%r10,%rax,8),%xmm0
14007c4ee:	f3 41 0f 10 4c c2 28 	movss  0x28(%r10,%rax,8),%xmm1
14007c4f5:	f3 41 0f 58 4c c2 20 	addss  0x20(%r10,%rax,8),%xmm1
14007c4fc:	f3 0f 59 c2          	mulss  %xmm2,%xmm0
14007c500:	f3 0f 59 ca          	mulss  %xmm2,%xmm1
14007c504:	0f 2f c1             	comiss %xmm1,%xmm0
14007c507:	41 0f 96 c3          	setbe  %r11b
14007c50b:	48 03 d2             	add    %rdx,%rdx
14007c50e:	49 ff c3             	inc    %r11
14007c511:	4c 03 d9             	add    %rcx,%r11
14007c514:	49 8b c3             	mov    %r11,%rax
14007c517:	48 03 c0             	add    %rax,%rax
14007c51a:	41 0f 10 04 c2       	movups (%r10,%rax,8),%xmm0
14007c51f:	f3 41 0f 7f 04 d2    	movdqu %xmm0,(%r10,%rdx,8)
14007c525:	49 8b d3             	mov    %r11,%rdx
14007c528:	4c 3b db             	cmp    %rbx,%r11
14007c52b:	7c a6                	jl     0x14007c4d3
14007c52d:	4c 3b db             	cmp    %rbx,%r11
14007c530:	75 1b                	jne    0x14007c54d
14007c532:	41 f6 c0 01          	test   $0x1,%r8b
14007c536:	75 15                	jne    0x14007c54d
14007c538:	4d 03 c0             	add    %r8,%r8
14007c53b:	48 03 d2             	add    %rdx,%rdx
14007c53e:	43 0f 10 44 c2 f0    	movups -0x10(%r10,%r8,8),%xmm0
14007c544:	f3 41 0f 7f 04 d2    	movdqu %xmm0,(%r10,%rdx,8)
14007c54a:	48 8b d6             	mov    %rsi,%rdx
14007c54d:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
14007c551:	48 d1 f8             	sar    $1,%rax
14007c554:	48 3b fa             	cmp    %rdx,%rdi
14007c557:	7d 47                	jge    0x14007c5a0
14007c559:	f3 41 0f 10 49 08    	movss  0x8(%r9),%xmm1
14007c55f:	f3 41 0f 58 09       	addss  (%r9),%xmm1
14007c564:	f3 0f 59 ca          	mulss  %xmm2,%xmm1
14007c568:	48 8b c8             	mov    %rax,%rcx
14007c56b:	48 03 c9             	add    %rcx,%rcx
14007c56e:	f3 41 0f 10 44 ca 08 	movss  0x8(%r10,%rcx,8),%xmm0
14007c575:	f3 41 0f 58 04 ca    	addss  (%r10,%rcx,8),%xmm0
14007c57b:	f3 0f 59 c2          	mulss  %xmm2,%xmm0
14007c57f:	0f 2f c8             	comiss %xmm0,%xmm1
14007c582:	76 1c                	jbe    0x14007c5a0
14007c584:	41 0f 10 04 ca       	movups (%r10,%rcx,8),%xmm0
14007c589:	48 03 d2             	add    %rdx,%rdx
14007c58c:	f3 41 0f 7f 04 d2    	movdqu %xmm0,(%r10,%rdx,8)
14007c592:	48 8b d0             	mov    %rax,%rdx
14007c595:	48 ff c8             	dec    %rax
14007c598:	48 d1 f8             	sar    $1,%rax
14007c59b:	48 3b fa             	cmp    %rdx,%rdi
14007c59e:	7c c8                	jl     0x14007c568
14007c5a0:	41 0f 10 01          	movups (%r9),%xmm0
14007c5a4:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14007c5a9:	48 03 d2             	add    %rdx,%rdx
14007c5ac:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14007c5b1:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14007c5b6:	f3 41 0f 7f 04 d2    	movdqu %xmm0,(%r10,%rdx,8)
14007c5bc:	c3                   	ret
14007c5bd:	90                   	nop
14007c5be:	90                   	nop
14007c5bf:	90                   	nop
14007c5c0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14007c5c5:	55                   	push   %rbp
14007c5c6:	56                   	push   %rsi
14007c5c7:	57                   	push   %rdi
14007c5c8:	41 54                	push   %r12
14007c5ca:	41 55                	push   %r13
14007c5cc:	41 56                	push   %r14
14007c5ce:	41 57                	push   %r15
14007c5d0:	48 8b ec             	mov    %rsp,%rbp
14007c5d3:	48 83 ec 40          	sub    $0x40,%rsp
14007c5d7:	4d 8d 68 ff          	lea    -0x1(%r8),%r13
14007c5db:	48 89 55 40          	mov    %rdx,0x40(%rbp)
14007c5df:	4d 8b fd             	mov    %r13,%r15
14007c5e2:	4d 8b e1             	mov    %r9,%r12
14007c5e5:	49 d1 ff             	sar    $1,%r15
14007c5e8:	4d 8b f0             	mov    %r8,%r14
14007c5eb:	48 8b da             	mov    %rdx,%rbx
14007c5ee:	48 8b f9             	mov    %rcx,%rdi
14007c5f1:	48 8b f2             	mov    %rdx,%rsi
14007c5f4:	49 3b d7             	cmp    %r15,%rdx
14007c5f7:	0f 8d 92 00 00 00    	jge    0x14007c68f
14007c5fd:	48 03 f6             	add    %rsi,%rsi
14007c600:	0f 57 c0             	xorps  %xmm0,%xmm0
14007c603:	48 8b ce             	mov    %rsi,%rcx
14007c606:	48 03 c9             	add    %rcx,%rcx
14007c609:	f3 0f 7f 45 e0       	movdqu %xmm0,-0x20(%rbp)
14007c60e:	48 8b 44 cf 18       	mov    0x18(%rdi,%rcx,8),%rax
14007c613:	48 85 c0             	test   %rax,%rax
14007c616:	74 04                	je     0x14007c61c
14007c618:	f0 ff 40 08          	lock incl 0x8(%rax)
14007c61c:	48 8b 44 cf 10       	mov    0x10(%rdi,%rcx,8),%rax
14007c621:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
14007c625:	48 8b 44 cf 18       	mov    0x18(%rdi,%rcx,8),%rax
14007c62a:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
14007c62e:	48 8b 44 cf 28       	mov    0x28(%rdi,%rcx,8),%rax
14007c633:	f3 0f 7f 45 f0       	movdqu %xmm0,-0x10(%rbp)
14007c638:	48 85 c0             	test   %rax,%rax
14007c63b:	74 04                	je     0x14007c641
14007c63d:	f0 ff 40 08          	lock incl 0x8(%rax)
14007c641:	48 8b 44 cf 20       	mov    0x20(%rdi,%rcx,8),%rax
14007c646:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
14007c64a:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14007c64e:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
14007c652:	48 8b 44 cf 28       	mov    0x28(%rdi,%rcx,8),%rax
14007c657:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
14007c65b:	e8 ac 00 ff ff       	call   0x14006c70c
14007c660:	0f b6 c0             	movzbl %al,%eax
14007c663:	48 03 db             	add    %rbx,%rbx
14007c666:	48 83 f0 01          	xor    $0x1,%rax
14007c66a:	48 ff c0             	inc    %rax
14007c66d:	48 03 f0             	add    %rax,%rsi
14007c670:	48 8b d6             	mov    %rsi,%rdx
14007c673:	48 8d 0c df          	lea    (%rdi,%rbx,8),%rcx
14007c677:	48 c1 e2 04          	shl    $0x4,%rdx
14007c67b:	48 03 d7             	add    %rdi,%rdx
14007c67e:	e8 61 9c f8 ff       	call   0x1400062e4
14007c683:	48 8b de             	mov    %rsi,%rbx
14007c686:	49 3b f7             	cmp    %r15,%rsi
14007c689:	0f 8c 6e ff ff ff    	jl     0x14007c5fd
14007c68f:	49 3b f7             	cmp    %r15,%rsi
14007c692:	75 20                	jne    0x14007c6b4
14007c694:	41 f6 c6 01          	test   $0x1,%r14b
14007c698:	75 1a                	jne    0x14007c6b4
14007c69a:	48 03 db             	add    %rbx,%rbx
14007c69d:	49 c1 e6 04          	shl    $0x4,%r14
14007c6a1:	48 8d 57 f0          	lea    -0x10(%rdi),%rdx
14007c6a5:	49 03 d6             	add    %r14,%rdx
14007c6a8:	48 8d 0c df          	lea    (%rdi,%rbx,8),%rcx
14007c6ac:	e8 33 9c f8 ff       	call   0x1400062e4
14007c6b1:	49 8b dd             	mov    %r13,%rbx
14007c6b4:	4c 8b 7d 40          	mov    0x40(%rbp),%r15
14007c6b8:	4c 3b fb             	cmp    %rbx,%r15
14007c6bb:	0f 8d 85 00 00 00    	jge    0x14007c746
14007c6c1:	49 8b 44 24 08       	mov    0x8(%r12),%rax
14007c6c6:	48 8d 73 ff          	lea    -0x1(%rbx),%rsi
14007c6ca:	48 d1 fe             	sar    $1,%rsi
14007c6cd:	0f 57 c0             	xorps  %xmm0,%xmm0
14007c6d0:	f3 0f 7f 45 f0       	movdqu %xmm0,-0x10(%rbp)
14007c6d5:	48 85 c0             	test   %rax,%rax
14007c6d8:	74 04                	je     0x14007c6de
14007c6da:	f0 ff 40 08          	lock incl 0x8(%rax)
14007c6de:	49 8b 04 24          	mov    (%r12),%rax
14007c6e2:	4c 8b f6             	mov    %rsi,%r14
14007c6e5:	49 c1 e6 04          	shl    $0x4,%r14
14007c6e9:	4c 03 f7             	add    %rdi,%r14
14007c6ec:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14007c6f0:	49 8b 44 24 08       	mov    0x8(%r12),%rax
14007c6f5:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
14007c6f9:	f3 0f 7f 45 e0       	movdqu %xmm0,-0x20(%rbp)
14007c6fe:	49 8b 46 08          	mov    0x8(%r14),%rax
14007c702:	48 85 c0             	test   %rax,%rax
14007c705:	74 04                	je     0x14007c70b
14007c707:	f0 ff 40 08          	lock incl 0x8(%rax)
14007c70b:	49 8b 06             	mov    (%r14),%rax
14007c70e:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
14007c712:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
14007c716:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
14007c71a:	49 8b 46 08          	mov    0x8(%r14),%rax
14007c71e:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
14007c722:	e8 e5 ff fe ff       	call   0x14006c70c
14007c727:	84 c0                	test   %al,%al
14007c729:	74 1b                	je     0x14007c746
14007c72b:	48 03 db             	add    %rbx,%rbx
14007c72e:	49 8b d6             	mov    %r14,%rdx
14007c731:	48 8d 0c df          	lea    (%rdi,%rbx,8),%rcx
14007c735:	e8 aa 9b f8 ff       	call   0x1400062e4
14007c73a:	48 8b de             	mov    %rsi,%rbx
14007c73d:	4c 3b fe             	cmp    %rsi,%r15
14007c740:	0f 8c 7b ff ff ff    	jl     0x14007c6c1
14007c746:	48 03 db             	add    %rbx,%rbx
14007c749:	49 8b d4             	mov    %r12,%rdx
14007c74c:	48 8d 0c df          	lea    (%rdi,%rbx,8),%rcx
14007c750:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
14007c757:	00
14007c758:	48 83 c4 40          	add    $0x40,%rsp
14007c75c:	41 5f                	pop    %r15
14007c75e:	41 5e                	pop    %r14
14007c760:	41 5d                	pop    %r13
14007c762:	41 5c                	pop    %r12
14007c764:	5f                   	pop    %rdi
14007c765:	5e                   	pop    %rsi
14007c766:	5d                   	pop    %rbp
14007c767:	e9 78 9b f8 ff       	jmp    0x1400062e4
14007c76c:	cc                   	int3
14007c76d:	90                   	nop
14007c76e:	90                   	nop
14007c76f:	90                   	nop
14007c770:	48 8b c4             	mov    %rsp,%rax
14007c773:	48 89 58 08          	mov    %rbx,0x8(%rax)
14007c777:	48 89 68 10          	mov    %rbp,0x10(%rax)
14007c77b:	48 89 70 18          	mov    %rsi,0x18(%rax)
14007c77f:	48 89 78 20          	mov    %rdi,0x20(%rax)
14007c783:	41 54                	push   %r12
14007c785:	41 56                	push   %r14
14007c787:	41 57                	push   %r15
14007c789:	48 83 ec 20          	sub    $0x20,%rsp
14007c78d:	49 8d 70 ff          	lea    -0x1(%r8),%rsi
14007c791:	4d 8b f9             	mov    %r9,%r15
14007c794:	48 d1 fe             	sar    $1,%rsi
14007c797:	4d 8b f0             	mov    %r8,%r14
14007c79a:	4c 8b d2             	mov    %rdx,%r10
14007c79d:	48 8b f9             	mov    %rcx,%rdi
14007c7a0:	48 8b ea             	mov    %rdx,%rbp
14007c7a3:	48 8b da             	mov    %rdx,%rbx
14007c7a6:	48 3b d6             	cmp    %rsi,%rdx
14007c7a9:	7d 44                	jge    0x14007c7ef
14007c7ab:	48 8d 14 1b          	lea    (%rbx,%rbx,1),%rdx
14007c7af:	33 db                	xor    %ebx,%ebx
14007c7b1:	48 8d 04 52          	lea    (%rdx,%rdx,2),%rax
14007c7b5:	48 03 c0             	add    %rax,%rax
14007c7b8:	4b 8d 0c 52          	lea    (%r10,%r10,2),%rcx
14007c7bc:	f3 0f 10 44 c7 44    	movss  0x44(%rdi,%rax,8),%xmm0
14007c7c2:	0f 2f 44 c7 74       	comiss 0x74(%rdi,%rax,8),%xmm0
14007c7c7:	0f 96 c3             	setbe  %bl
14007c7ca:	48 ff c2             	inc    %rdx
14007c7cd:	48 03 da             	add    %rdx,%rbx
14007c7d0:	48 c1 e1 04          	shl    $0x4,%rcx
14007c7d4:	48 03 cf             	add    %rdi,%rcx
14007c7d7:	48 8d 14 5b          	lea    (%rbx,%rbx,2),%rdx
14007c7db:	48 c1 e2 04          	shl    $0x4,%rdx
14007c7df:	48 03 d7             	add    %rdi,%rdx
14007c7e2:	e8 ed 26 fd ff       	call   0x14004eed4
14007c7e7:	4c 8b d3             	mov    %rbx,%r10
14007c7ea:	48 3b de             	cmp    %rsi,%rbx
14007c7ed:	7c bc                	jl     0x14007c7ab
14007c7ef:	48 3b de             	cmp    %rsi,%rbx
14007c7f2:	75 29                	jne    0x14007c81d
14007c7f4:	41 f6 c6 01          	test   $0x1,%r14b
14007c7f8:	75 23                	jne    0x14007c81d
14007c7fa:	4b 8d 0c 52          	lea    (%r10,%r10,2),%rcx