140e8c232:	48 2b c1             	sub    %rcx,%rax
140e8c235:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e8c239:	48 83 f8 1f          	cmp    $0x1f,%rax
140e8c23d:	0f 87 f3 00 00 00    	ja     0x140e8c336
140e8c243:	e8 fc ee f8 ff       	call   0x140e1b144
140e8c248:	4c 89 a5 a0 00 00 00 	mov    %r12,0xa0(%rbp)
140e8c24f:	48 c7 85 a8 00 00 00 	movq   $0xf,0xa8(%rbp)
140e8c256:	0f 00 00 00
140e8c25a:	c6 85 90 00 00 00 00 	movb   $0x0,0x90(%rbp)
140e8c261:	48 8b 95 28 01 00 00 	mov    0x128(%rbp),%rdx
140e8c268:	48 83 fa 07          	cmp    $0x7,%rdx
140e8c26c:	76 35                	jbe    0x140e8c2a3
140e8c26e:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140e8c275:	00
140e8c276:	48 8b 8d 10 01 00 00 	mov    0x110(%rbp),%rcx
140e8c27d:	48 8b c1             	mov    %rcx,%rax
140e8c280:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e8c287:	72 15                	jb     0x140e8c29e
140e8c289:	48 83 c2 27          	add    $0x27,%rdx
140e8c28d:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e8c291:	48 2b c1             	sub    %rcx,%rax
140e8c294:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e8c298:	48 83 f8 1f          	cmp    $0x1f,%rax
140e8c29c:	77 32                	ja     0x140e8c2d0
140e8c29e:	e8 a1 ee f8 ff       	call   0x140e1b144
140e8c2a3:	49 8b c7             	mov    %r15,%rax
140e8c2a6:	48 8b 8d 30 01 00 00 	mov    0x130(%rbp),%rcx
140e8c2ad:	48 33 cc             	xor    %rsp,%rcx
140e8c2b0:	e8 4b f2 f8 ff       	call   0x140e1b500
140e8c2b5:	48 8b 9c 24 98 02 00 	mov    0x298(%rsp),%rbx
140e8c2bc:	00
140e8c2bd:	48 81 c4 40 02 00 00 	add    $0x240,%rsp
140e8c2c4:	41 5f                	pop    %r15
140e8c2c6:	41 5e                	pop    %r14
140e8c2c8:	41 5d                	pop    %r13
140e8c2ca:	41 5c                	pop    %r12
140e8c2cc:	5f                   	pop    %rdi
140e8c2cd:	5e                   	pop    %rsi
140e8c2ce:	5d                   	pop    %rbp
140e8c2cf:	c3                   	ret
140e8c2d0:	e8 cf de f9 ff       	call   0x140e2a1a4
140e8c2d5:	90                   	nop
140e8c2d6:	e8 c9 de f9 ff       	call   0x140e2a1a4
140e8c2db:	90                   	nop
140e8c2dc:	e8 c3 de f9 ff       	call   0x140e2a1a4
140e8c2e1:	cc                   	int3
140e8c2e2:	e8 bd de f9 ff       	call   0x140e2a1a4
140e8c2e7:	90                   	nop
140e8c2e8:	e8 b7 de f9 ff       	call   0x140e2a1a4
140e8c2ed:	90                   	nop
140e8c2ee:	e8 b1 de f9 ff       	call   0x140e2a1a4
140e8c2f3:	90                   	nop
140e8c2f4:	e8 ab de f9 ff       	call   0x140e2a1a4
140e8c2f9:	90                   	nop
140e8c2fa:	e8 71 12 31 ff       	call   0x14019d570
140e8c2ff:	90                   	nop
140e8c300:	e8 6b 12 31 ff       	call   0x14019d570
140e8c305:	cc                   	int3
140e8c306:	e8 a5 12 31 ff       	call   0x14019d5b0
140e8c30b:	cc                   	int3
140e8c30c:	e8 93 de f9 ff       	call   0x140e2a1a4
140e8c311:	cc                   	int3
140e8c312:	e8 59 12 31 ff       	call   0x14019d570
140e8c317:	cc                   	int3
140e8c318:	e8 93 12 31 ff       	call   0x14019d5b0
140e8c31d:	90                   	nop
140e8c31e:	e8 81 de f9 ff       	call   0x140e2a1a4
140e8c323:	90                   	nop
140e8c324:	e8 7b de f9 ff       	call   0x140e2a1a4
140e8c329:	cc                   	int3
140e8c32a:	e8 41 12 31 ff       	call   0x14019d570
140e8c32f:	90                   	nop
140e8c330:	e8 6f de f9 ff       	call   0x140e2a1a4
140e8c335:	90                   	nop
140e8c336:	e8 69 de f9 ff       	call   0x140e2a1a4
140e8c33b:	cc                   	int3
140e8c33c:	cc                   	int3
140e8c33d:	cc                   	int3
140e8c33e:	cc                   	int3
140e8c33f:	cc                   	int3
140e8c340:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e8c345:	55                   	push   %rbp
140e8c346:	56                   	push   %rsi
140e8c347:	57                   	push   %rdi
140e8c348:	41 54                	push   %r12
140e8c34a:	41 55                	push   %r13
140e8c34c:	41 56                	push   %r14
140e8c34e:	41 57                	push   %r15
140e8c350:	48 83 ec 70          	sub    $0x70,%rsp
140e8c354:	4d 8b e0             	mov    %r8,%r12
140e8c357:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140e8c35c:	48 8b da             	mov    %rdx,%rbx
140e8c35f:	4c 8b e9             	mov    %rcx,%r13
140e8c362:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140e8c367:	33 ed                	xor    %ebp,%ebp
140e8c369:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
140e8c36d:	0f 57 c0             	xorps  %xmm0,%xmm0
140e8c370:	0f 11 01             	movups %xmm0,(%rcx)
140e8c373:	0f 11 41 10          	movups %xmm0,0x10(%rcx)
140e8c377:	0f 11 41 20          	movups %xmm0,0x20(%rcx)
140e8c37b:	0f 11 41 30          	movups %xmm0,0x30(%rcx)
140e8c37f:	e8 7c bf 51 ff       	call   0x1403a8300
140e8c384:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
140e8c38b:	00
140e8c38c:	48 8b 1b             	mov    (%rbx),%rbx
140e8c38f:	49 3b 1c 24          	cmp    (%r12),%rbx
140e8c393:	0f 84 97 02 00 00    	je     0x140e8c630
140e8c399:	4d 8d 75 08          	lea    0x8(%r13),%r14
140e8c39d:	0f 1f 00             	nopl   (%rax)
140e8c3a0:	48 8b 3b             	mov    (%rbx),%rdi
140e8c3a3:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140e8c3a8:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
140e8c3ad:	0f ae e8             	lfence
140e8c3b0:	b9 50 00 00 00       	mov    $0x50,%ecx
140e8c3b5:	e8 4e ed f8 ff       	call   0x140e1b108
140e8c3ba:	4c 8b f8             	mov    %rax,%r15
140e8c3bd:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140e8c3c2:	48 8d 70 10          	lea    0x10(%rax),%rsi
140e8c3c6:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
140e8c3cb:	0f 57 c0             	xorps  %xmm0,%xmm0
140e8c3ce:	0f 11 06             	movups %xmm0,(%rsi)
140e8c3d1:	48 89 6e 10          	mov    %rbp,0x10(%rsi)
140e8c3d5:	48 89 6e 18          	mov    %rbp,0x18(%rsi)
140e8c3d9:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
140e8c3e0:	49 ff c0             	inc    %r8
140e8c3e3:	42 80 3c 07 00       	cmpb   $0x0,(%rdi,%r8,1)
140e8c3e8:	75 f6                	jne    0x140e8c3e0
140e8c3ea:	48 8b d7             	mov    %rdi,%rdx
140e8c3ed:	48 8b ce             	mov    %rsi,%rcx
140e8c3f0:	e8 0b aa 30 ff       	call   0x140196e00
140e8c3f5:	90                   	nop
140e8c3f6:	48 8d 4e 20          	lea    0x20(%rsi),%rcx
140e8c3fa:	0f 57 c0             	xorps  %xmm0,%xmm0
140e8c3fd:	0f 11 01             	movups %xmm0,(%rcx)
140e8c400:	48 89 69 10          	mov    %rbp,0x10(%rcx)
140e8c404:	48 89 69 18          	mov    %rbp,0x18(%rcx)
140e8c408:	45 33 c0             	xor    %r8d,%r8d
140e8c40b:	48 8d 15 7a 73 11 00 	lea    0x11737a(%rip),%rdx        # 0x140fa378c
140e8c412:	e8 e9 a9 30 ff       	call   0x140196e00
140e8c417:	90                   	nop
140e8c418:	4c 8b 46 10          	mov    0x10(%rsi),%r8
140e8c41c:	48 8b d6             	mov    %rsi,%rdx
140e8c41f:	48 83 7e 18 0f       	cmpq   $0xf,0x18(%rsi)
140e8c424:	76 03                	jbe    0x140e8c429
140e8c426:	48 8b 16             	mov    (%rsi),%rdx
140e8c429:	48 bd 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rbp
140e8c430:	9c f2 cb
140e8c433:	33 c9                	xor    %ecx,%ecx
140e8c435:	4d 85 c0             	test   %r8,%r8
140e8c438:	74 2e                	je     0x140e8c468
140e8c43a:	49 bc b3 01 00 00 00 	movabs $0x100000001b3,%r12
140e8c441:	01 00 00
140e8c444:	0f 1f 40 00          	nopl   0x0(%rax)
140e8c448:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140e8c44f:	00
140e8c450:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
140e8c454:	48 33 e8             	xor    %rax,%rbp
140e8c457:	49 0f af ec          	imul   %r12,%rbp
140e8c45b:	48 ff c1             	inc    %rcx
140e8c45e:	49 3b c8             	cmp    %r8,%rcx
140e8c461:	72 ed                	jb     0x140e8c450
140e8c463:	4c 8b 64 24 28       	mov    0x28(%rsp),%r12
140e8c468:	4c 8b cd             	mov    %rbp,%r9
140e8c46b:	4c 8b c6             	mov    %rsi,%r8
140e8c46e:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140e8c473:	49 8b cd             	mov    %r13,%rcx
140e8c476:	e8 85 7d 38 ff       	call   0x140214200
140e8c47b:	48 83 7c 24 58 00    	cmpq   $0x0,0x58(%rsp)
140e8c481:	74 23                	je     0x140e8c4a6
140e8c483:	4d 85 ff             	test   %r15,%r15
140e8c486:	0f 84 91 01 00 00    	je     0x140e8c61d
140e8c48c:	48 8b ce             	mov    %rsi,%rcx
140e8c48f:	e8 7c d1 30 ff       	call   0x140199610
140e8c494:	ba 50 00 00 00       	mov    $0x50,%edx
140e8c499:	49 8b cf             	mov    %r15,%rcx
140e8c49c:	e8 a3 ec f8 ff       	call   0x140e1b144
140e8c4a1:	e9 77 01 00 00       	jmp    0x140e8c61d
140e8c4a6:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140e8c4aa:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
140e8c4b1:	33 33 03
140e8c4b4:	48 3b c8             	cmp    %rax,%rcx
140e8c4b7:	0f 84 8e 01 00 00    	je     0x140e8c64b
140e8c4bd:	48 83 c1 01          	add    $0x1,%rcx
140e8c4c1:	0f 57 c0             	xorps  %xmm0,%xmm0
140e8c4c4:	78 07                	js     0x140e8c4cd
140e8c4c6:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140e8c4cb:	eb 15                	jmp    0x140e8c4e2
140e8c4cd:	48 8b c1             	mov    %rcx,%rax
140e8c4d0:	48 d1 e8             	shr    $1,%rax
140e8c4d3:	83 e1 01             	and    $0x1,%ecx
140e8c4d6:	48 0b c1             	or     %rcx,%rax
140e8c4d9:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140e8c4de:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140e8c4e2:	49 8b 4d 38          	mov    0x38(%r13),%rcx
140e8c4e6:	0f 57 c9             	xorps  %xmm1,%xmm1
140e8c4e9:	48 85 c9             	test   %rcx,%rcx
140e8c4ec:	78 07                	js     0x140e8c4f5
140e8c4ee:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140e8c4f3:	eb 15                	jmp    0x140e8c50a
140e8c4f5:	48 8b c1             	mov    %rcx,%rax
140e8c4f8:	48 d1 e8             	shr    $1,%rax
140e8c4fb:	83 e1 01             	and    $0x1,%ecx
140e8c4fe:	48 0b c1             	or     %rcx,%rax
140e8c501:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140e8c506:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140e8c50a:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140e8c50e:	41 0f 2f 45 00       	comiss 0x0(%r13),%xmm0
140e8c513:	0f 86 ac 00 00 00    	jbe    0x140e8c5c5
140e8c519:	49 8b cd             	mov    %r13,%rcx
140e8c51c:	e8 df 34 52 ff       	call   0x1403afa00
140e8c521:	49 8b 45 30          	mov    0x30(%r13),%rax
140e8c525:	48 23 c5             	and    %rbp,%rax
140e8c528:	48 03 c0             	add    %rax,%rax
140e8c52b:	49 8b 55 18          	mov    0x18(%r13),%rdx
140e8c52f:	48 8b 7c c2 08       	mov    0x8(%rdx,%rax,8),%rdi
140e8c534:	49 8b 0e             	mov    (%r14),%rcx
140e8c537:	48 3b f9             	cmp    %rcx,%rdi
140e8c53a:	75 07                	jne    0x140e8c543
140e8c53c:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140e8c541:	eb 6e                	jmp    0x140e8c5b1
140e8c543:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
140e8c547:	4c 8b 76 10          	mov    0x10(%rsi),%r14
140e8c54b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140e8c550:	48 8d 57 10          	lea    0x10(%rdi),%rdx
140e8c554:	48 8b 42 10          	mov    0x10(%rdx),%rax
140e8c558:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140e8c55d:	76 03                	jbe    0x140e8c562
140e8c55f:	48 8b 12             	mov    (%rdx),%rdx
140e8c562:	48 8b ce             	mov    %rsi,%rcx
140e8c565:	48 83 7e 18 0f       	cmpq   $0xf,0x18(%rsi)
140e8c56a:	76 03                	jbe    0x140e8c56f
140e8c56c:	48 8b 0e             	mov    (%rsi),%rcx
140e8c56f:	4c 3b f0             	cmp    %rax,%r14
140e8c572:	75 0c                	jne    0x140e8c580
140e8c574:	4d 8b c6             	mov    %r14,%r8
140e8c577:	e8 d4 34 05 00       	call   0x140edfa50
140e8c57c:	85 c0                	test   %eax,%eax
140e8c57e:	74 0b                	je     0x140e8c58b
140e8c580:	49 3b fc             	cmp    %r12,%rdi
140e8c583:	74 1e                	je     0x140e8c5a3
140e8c585:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
140e8c589:	eb c5                	jmp    0x140e8c550
140e8c58b:	48 8b 07             	mov    (%rdi),%rax
140e8c58e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140e8c593:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140e8c598:	4d 8d 75 08          	lea    0x8(%r13),%r14
140e8c59c:	4c 8b 64 24 28       	mov    0x28(%rsp),%r12
140e8c5a1:	eb 17                	jmp    0x140e8c5ba
140e8c5a3:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140e8c5a8:	4d 8d 75 08          	lea    0x8(%r13),%r14
140e8c5ac:	4c 8b 64 24 28       	mov    0x28(%rsp),%r12
140e8c5b1:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
140e8c5b8:	00 00
140e8c5ba:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
140e8c5bf:	66 0f 7f 44 24 50    	movdqa %xmm0,0x50(%rsp)
140e8c5c5:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
140e8c5cc:	00 00
140e8c5ce:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140e8c5d3:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140e8c5d7:	49 ff 45 10          	incq   0x10(%r13)
140e8c5db:	49 89 17             	mov    %rdx,(%r15)
140e8c5de:	4d 89 47 08          	mov    %r8,0x8(%r15)
140e8c5e2:	4d 89 38             	mov    %r15,(%r8)
140e8c5e5:	4c 89 7a 08          	mov    %r15,0x8(%rdx)
140e8c5e9:	49 8b 4d 18          	mov    0x18(%r13),%rcx
140e8c5ed:	49 8b 45 30          	mov    0x30(%r13),%rax
140e8c5f1:	48 23 c5             	and    %rbp,%rax
140e8c5f4:	48 03 c0             	add    %rax,%rax
140e8c5f7:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
140e8c5fb:	4d 3b 0e             	cmp    (%r14),%r9
140e8c5fe:	75 06                	jne    0x140e8c606
140e8c600:	4c 89 3c c1          	mov    %r15,(%rcx,%rax,8)
140e8c604:	eb 12                	jmp    0x140e8c618
140e8c606:	4c 3b ca             	cmp    %rdx,%r9
140e8c609:	75 06                	jne    0x140e8c611
140e8c60b:	4c 89 3c c1          	mov    %r15,(%rcx,%rax,8)
140e8c60f:	eb 0c                	jmp    0x140e8c61d
140e8c611:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
140e8c616:	75 05                	jne    0x140e8c61d
140e8c618:	4c 89 7c c1 08       	mov    %r15,0x8(%rcx,%rax,8)
140e8c61d:	48 83 c3 10          	add    $0x10,%rbx
140e8c621:	49 3b 1c 24          	cmp    (%r12),%rbx
140e8c625:	bd 00 00 00 00       	mov    $0x0,%ebp
140e8c62a:	0f 85 70 fd ff ff    	jne    0x140e8c3a0
140e8c630:	49 8b c5             	mov    %r13,%rax
140e8c633:	48 8b 9c 24 c0 00 00 	mov    0xc0(%rsp),%rbx
140e8c63a:	00
140e8c63b:	48 83 c4 70          	add    $0x70,%rsp
140e8c63f:	41 5f                	pop    %r15
140e8c641:	41 5e                	pop    %r14
140e8c643:	41 5d                	pop    %r13
140e8c645:	41 5c                	pop    %r12
140e8c647:	5f                   	pop    %rdi
140e8c648:	5e                   	pop    %rsi
140e8c649:	5d                   	pop    %rbp
140e8c64a:	c3                   	ret
140e8c64b:	48 8d 0d 4e 1e 12 00 	lea    0x121e4e(%rip),%rcx        # 0x140fae4a0
140e8c652:	e8 5d ed f6 ff       	call   0x140dfb3b4
140e8c657:	cc                   	int3
140e8c658:	cc                   	int3
140e8c659:	cc                   	int3
140e8c65a:	cc                   	int3
140e8c65b:	cc                   	int3
140e8c65c:	cc                   	int3
140e8c65d:	cc                   	int3
140e8c65e:	cc                   	int3
140e8c65f:	cc                   	int3
140e8c660:	49 3b d0             	cmp    %r8,%rdx
140e8c663:	0f 84 6e 02 00 00    	je     0x140e8c8d7
140e8c669:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e8c66e:	55                   	push   %rbp
140e8c66f:	56                   	push   %rsi
140e8c670:	57                   	push   %rdi
140e8c671:	41 54                	push   %r12
140e8c673:	41 55                	push   %r13
140e8c675:	41 56                	push   %r14
140e8c677:	41 57                	push   %r15
140e8c679:	48 83 ec 60          	sub    $0x60,%rsp
140e8c67d:	49 8b d8             	mov    %r8,%rbx
140e8c680:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140e8c685:	48 8b f2             	mov    %rdx,%rsi
140e8c688:	4c 8b e9             	mov    %rcx,%r13
140e8c68b:	45 33 e4             	xor    %r12d,%r12d
140e8c68e:	48 bd ff ff ff ff ff 	movabs $0x3ffffffffffffff,%rbp
140e8c695:	ff ff 03
140e8c698:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
140e8c69f:	01 00 00
140e8c6a2:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140e8c6a9:	9c f2 cb
140e8c6ac:	4c 8b 46 10          	mov    0x10(%rsi),%r8
140e8c6b0:	48 8b d6             	mov    %rsi,%rdx
140e8c6b3:	48 83 7e 18 0f       	cmpq   $0xf,0x18(%rsi)
140e8c6b8:	76 03                	jbe    0x140e8c6bd
140e8c6ba:	48 8b 16             	mov    (%rsi),%rdx
140e8c6bd:	48 8b f8             	mov    %rax,%rdi
140e8c6c0:	49 8b cc             	mov    %r12,%rcx
140e8c6c3:	4d 85 c0             	test   %r8,%r8
140e8c6c6:	74 1b                	je     0x140e8c6e3
140e8c6c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140e8c6cf:	00
140e8c6d0:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
140e8c6d4:	48 33 f8             	xor    %rax,%rdi
140e8c6d7:	49 0f af f9          	imul   %r9,%rdi
140e8c6db:	48 ff c1             	inc    %rcx
140e8c6de:	49 3b c8             	cmp    %r8,%rcx
140e8c6e1:	72 ed                	jb     0x140e8c6d0
140e8c6e3:	4c 8b cf             	mov    %rdi,%r9
140e8c6e6:	4c 8b c6             	mov    %rsi,%r8
140e8c6e9:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140e8c6ee:	49 8b cd             	mov    %r13,%rcx