14007c186:	48 8b d3             	mov    %rbx,%rdx
14007c189:	49 8b cf             	mov    %r15,%rcx
14007c18c:	e8 23 02 00 00       	call   0x14007c3b4
14007c191:	49 8b c4             	mov    %r12,%rax
14007c194:	48 83 c4 60          	add    $0x60,%rsp
14007c198:	41 5f                	pop    %r15
14007c19a:	41 5e                	pop    %r14
14007c19c:	41 5d                	pop    %r13
14007c19e:	41 5c                	pop    %r12
14007c1a0:	5f                   	pop    %rdi
14007c1a1:	5e                   	pop    %rsi
14007c1a2:	5b                   	pop    %rbx
14007c1a3:	c3                   	ret
14007c1a4:	e8 27 7b f8 ff       	call   0x140003cd0
14007c1a9:	cc                   	int3
14007c1aa:	e8 b9 fb f9 ff       	call   0x14001bd68
14007c1af:	cc                   	int3
14007c1b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14007c1b5:	57                   	push   %rdi
14007c1b6:	48 83 ec 20          	sub    $0x20,%rsp
14007c1ba:	48 8b d9             	mov    %rcx,%rbx
14007c1bd:	48 8b 49 58          	mov    0x58(%rcx),%rcx
14007c1c1:	48 85 c9             	test   %rcx,%rcx
14007c1c4:	74 05                	je     0x14007c1cb
14007c1c6:	e8 09 34 a7 00       	call   0x140aef5d4
14007c1cb:	48 8d 7b 18          	lea    0x18(%rbx),%rdi
14007c1cf:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
14007c1d3:	48 85 c9             	test   %rcx,%rcx
14007c1d6:	74 18                	je     0x14007c1f0
14007c1d8:	48 8b 01             	mov    (%rcx),%rax
14007c1db:	48 3b cf             	cmp    %rdi,%rcx
14007c1de:	0f 95 c2             	setne  %dl
14007c1e1:	48 8b 40 20          	mov    0x20(%rax),%rax
14007c1e5:	ff 15 4d 0a a9 00    	call   *0xa90a4d(%rip)        # 0x140b0cc38
14007c1eb:	48 83 67 38 00       	andq   $0x0,0x38(%rdi)
14007c1f0:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
14007c1f4:	48 85 db             	test   %rbx,%rbx
14007c1f7:	74 38                	je     0x14007c231
14007c1f9:	83 cf ff             	or     $0xffffffff,%edi
14007c1fc:	8b c7                	mov    %edi,%eax
14007c1fe:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
14007c203:	03 c7                	add    %edi,%eax
14007c205:	75 2a                	jne    0x14007c231
14007c207:	48 8b 03             	mov    (%rbx),%rax
14007c20a:	48 8b cb             	mov    %rbx,%rcx
14007c20d:	48 8b 00             	mov    (%rax),%rax
14007c210:	ff 15 22 0a a9 00    	call   *0xa90a22(%rip)        # 0x140b0cc38
14007c216:	8b c7                	mov    %edi,%eax
14007c218:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
14007c21d:	03 c7                	add    %edi,%eax
14007c21f:	75 10                	jne    0x14007c231
14007c221:	48 8b 03             	mov    (%rbx),%rax
14007c224:	48 8b cb             	mov    %rbx,%rcx
14007c227:	48 8b 40 08          	mov    0x8(%rax),%rax
14007c22b:	ff 15 07 0a a9 00    	call   *0xa90a07(%rip)        # 0x140b0cc38
14007c231:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14007c236:	48 83 c4 20          	add    $0x20,%rsp
14007c23a:	5f                   	pop    %rdi
14007c23b:	c3                   	ret
14007c23c:	90                   	nop
14007c23d:	90                   	nop
14007c23e:	90                   	nop
14007c23f:	90                   	nop
14007c240:	48 8d 05 c9 8c c4 00 	lea    0xc48cc9(%rip),%rax        # 0x140cc4f10
14007c247:	c3                   	ret
14007c248:	90                   	nop
14007c249:	90                   	nop
14007c24a:	90                   	nop
14007c24b:	90                   	nop
14007c24c:	90                   	nop
14007c24d:	90                   	nop
14007c24e:	90                   	nop
14007c24f:	90                   	nop
14007c250:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14007c255:	57                   	push   %rdi
14007c256:	48 83 ec 40          	sub    $0x40,%rsp
14007c25a:	48 8b fa             	mov    %rdx,%rdi
14007c25d:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14007c262:	49 8b d0             	mov    %r8,%rdx
14007c265:	e8 d6 cc ff ff       	call   0x140078f40
14007c26a:	48 8b 08             	mov    (%rax),%rcx
14007c26d:	48 83 20 00          	andq   $0x0,(%rax)
14007c271:	48 89 0f             	mov    %rcx,(%rdi)
14007c274:	48 8b 48 08          	mov    0x8(%rax),%rcx
14007c278:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
14007c27d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14007c282:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
14007c286:	48 85 db             	test   %rbx,%rbx
14007c289:	74 39                	je     0x14007c2c4
14007c28b:	83 c8 ff             	or     $0xffffffff,%eax
14007c28e:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
14007c293:	83 f8 01             	cmp    $0x1,%eax
14007c296:	75 2c                	jne    0x14007c2c4
14007c298:	48 8b 03             	mov    (%rbx),%rax
14007c29b:	48 8b cb             	mov    %rbx,%rcx
14007c29e:	48 8b 00             	mov    (%rax),%rax
14007c2a1:	ff 15 91 09 a9 00    	call   *0xa90991(%rip)        # 0x140b0cc38
14007c2a7:	83 c8 ff             	or     $0xffffffff,%eax
14007c2aa:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
14007c2af:	83 f8 01             	cmp    $0x1,%eax
14007c2b2:	75 10                	jne    0x14007c2c4
14007c2b4:	48 8b 03             	mov    (%rbx),%rax
14007c2b7:	48 8b cb             	mov    %rbx,%rcx
14007c2ba:	48 8b 40 08          	mov    0x8(%rax),%rax
14007c2be:	ff 15 74 09 a9 00    	call   *0xa90974(%rip)        # 0x140b0cc38
14007c2c4:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14007c2c9:	48 8b c7             	mov    %rdi,%rax
14007c2cc:	48 83 c4 40          	add    $0x40,%rsp
14007c2d0:	5f                   	pop    %rdi
14007c2d1:	c3                   	ret
14007c2d2:	90                   	nop
14007c2d3:	90                   	nop
14007c2d4:	90                   	nop
14007c2d5:	90                   	nop
14007c2d6:	90                   	nop
14007c2d7:	90                   	nop
14007c2d8:	90                   	nop
14007c2d9:	90                   	nop
14007c2da:	90                   	nop
14007c2db:	90                   	nop
14007c2dc:	90                   	nop
14007c2dd:	90                   	nop
14007c2de:	90                   	nop
14007c2df:	90                   	nop
14007c2e0:	48 8d 05 f9 9d a9 00 	lea    0xa99df9(%rip),%rax        # 0x140b160e0
14007c2e7:	48 89 02             	mov    %rax,(%rdx)
14007c2ea:	8a 41 08             	mov    0x8(%rcx),%al
14007c2ed:	88 42 08             	mov    %al,0x8(%rdx)
14007c2f0:	48 8b c2             	mov    %rdx,%rax
14007c2f3:	c3                   	ret
14007c2f4:	90                   	nop
14007c2f5:	90                   	nop
14007c2f6:	90                   	nop
14007c2f7:	90                   	nop
14007c2f8:	90                   	nop
14007c2f9:	90                   	nop
14007c2fa:	90                   	nop
14007c2fb:	90                   	nop
14007c2fc:	90                   	nop
14007c2fd:	90                   	nop
14007c2fe:	90                   	nop
14007c2ff:	90                   	nop
14007c300:	48 8d 05 e9 92 c4 00 	lea    0xc492e9(%rip),%rax        # 0x140cc55f0
14007c307:	c3                   	ret
14007c308:	90                   	nop
14007c309:	90                   	nop
14007c30a:	90                   	nop
14007c30b:	90                   	nop
14007c30c:	90                   	nop
14007c30d:	90                   	nop
14007c30e:	90                   	nop
14007c30f:	90                   	nop
14007c310:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14007c315:	57                   	push   %rdi
14007c316:	48 83 ec 40          	sub    $0x40,%rsp
14007c31a:	48 8b fa             	mov    %rdx,%rdi
14007c31d:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14007c322:	49 8b d0             	mov    %r8,%rdx
14007c325:	e8 da ca ff ff       	call   0x140078e04
14007c32a:	48 8b 08             	mov    (%rax),%rcx
14007c32d:	48 83 20 00          	andq   $0x0,(%rax)
14007c331:	48 89 0f             	mov    %rcx,(%rdi)
14007c334:	48 8b 48 08          	mov    0x8(%rax),%rcx
14007c338:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
14007c33d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14007c342:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
14007c346:	48 85 db             	test   %rbx,%rbx
14007c349:	74 39                	je     0x14007c384
14007c34b:	83 c8 ff             	or     $0xffffffff,%eax
14007c34e:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
14007c353:	83 f8 01             	cmp    $0x1,%eax
14007c356:	75 2c                	jne    0x14007c384
14007c358:	48 8b 03             	mov    (%rbx),%rax
14007c35b:	48 8b cb             	mov    %rbx,%rcx
14007c35e:	48 8b 00             	mov    (%rax),%rax
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