140392381:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140392385:	48 8b 07             	mov    (%rdi),%rax
140392388:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
14039238c:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140392390:	48 89 2f             	mov    %rbp,(%rdi)
140392393:	49 89 4e 18          	mov    %rcx,0x18(%r14)
140392397:	49 8d 4e 28          	lea    0x28(%r14),%rcx
14039239b:	49 89 56 20          	mov    %rdx,0x20(%r14)
14039239f:	48 8d 57 18          	lea    0x18(%rdi),%rdx
1403923a3:	49 89 46 10          	mov    %rax,0x10(%r14)
1403923a7:	e8 64 06 00 00       	call   0x140392a10
1403923ac:	48 8b 47 68          	mov    0x68(%rdi),%rax
1403923b0:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
1403923b4:	49 89 46 78          	mov    %rax,0x78(%r14)
1403923b8:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
1403923bc:	48 85 c9             	test   %rcx,%rcx
1403923bf:	74 10                	je     0x1403923d1
1403923c1:	48 83 29 01          	subq   $0x1,(%rcx)
1403923c5:	75 0a                	jne    0x1403923d1
1403923c7:	ba 18 00 00 00       	mov    $0x18,%edx
1403923cc:	e8 73 8d a8 00       	call   0x140e1b144
1403923d1:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
1403923d5:	e8 86 5f e0 ff       	call   0x140198360
1403923da:	40 38 6f 48          	cmp    %bpl,0x48(%rdi)
1403923de:	74 09                	je     0x1403923e9
1403923e0:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
1403923e4:	e8 17 b1 e0 ff       	call   0x14019d500
1403923e9:	48 8b 1f             	mov    (%rdi),%rbx
1403923ec:	48 85 db             	test   %rbx,%rbx
1403923ef:	0f 84 85 00 00 00    	je     0x14039247a
1403923f5:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
1403923fa:	48 8b 77 08          	mov    0x8(%rdi),%rsi
1403923fe:	48 3b de             	cmp    %rsi,%rbx
140392401:	74 11                	je     0x140392414
140392403:	48 8b cb             	mov    %rbx,%rcx
140392406:	e8 e5 0f 00 00       	call   0x1403933f0
14039240b:	48 83 c3 28          	add    $0x28,%rbx
14039240f:	48 3b de             	cmp    %rsi,%rbx
140392412:	75 ef                	jne    0x140392403
140392414:	4c 8b 07             	mov    (%rdi),%r8
140392417:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
14039241e:	66 66 66
140392421:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140392425:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14039242a:	49 2b c8             	sub    %r8,%rcx
14039242d:	48 f7 e9             	imul   %rcx
140392430:	48 c1 fa 04          	sar    $0x4,%rdx
140392434:	48 8b c2             	mov    %rdx,%rax
140392437:	48 c1 e8 3f          	shr    $0x3f,%rax
14039243b:	48 03 d0             	add    %rax,%rdx
14039243e:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140392442:	48 c1 e2 03          	shl    $0x3,%rdx
140392446:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14039244d:	72 18                	jb     0x140392467
14039244f:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140392453:	48 83 c2 27          	add    $0x27,%rdx
140392457:	4c 2b c1             	sub    %rcx,%r8
14039245a:	49 8d 40 f8          	lea    -0x8(%r8),%rax
14039245e:	48 83 f8 1f          	cmp    $0x1f,%rax
140392462:	77 27                	ja     0x14039248b
140392464:	4c 8b c1             	mov    %rcx,%r8
140392467:	49 8b c8             	mov    %r8,%rcx
14039246a:	e8 d5 8c a8 00       	call   0x140e1b144
14039246f:	48 89 2f             	mov    %rbp,(%rdi)
140392472:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140392476:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
14039247a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14039247f:	49 8b c6             	mov    %r14,%rax
140392482:	48 83 c4 20          	add    $0x20,%rsp
140392486:	41 5e                	pop    %r14
140392488:	5f                   	pop    %rdi
140392489:	5d                   	pop    %rbp
14039248a:	c3                   	ret
14039248b:	e8 14 7d a9 00       	call   0x140e2a1a4
140392490:	cc                   	int3
140392491:	cc                   	int3
140392492:	cc                   	int3
140392493:	cc                   	int3
140392494:	cc                   	int3
140392495:	cc                   	int3
140392496:	cc                   	int3
140392497:	cc                   	int3
140392498:	cc                   	int3
140392499:	cc                   	int3
14039249a:	cc                   	int3
14039249b:	cc                   	int3
14039249c:	cc                   	int3
14039249d:	cc                   	int3
14039249e:	cc                   	int3
14039249f:	cc                   	int3
1403924a0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1403924a5:	55                   	push   %rbp
1403924a6:	57                   	push   %rdi
1403924a7:	41 56                	push   %r14
1403924a9:	48 83 ec 20          	sub    $0x20,%rsp
1403924ad:	48 8b fa             	mov    %rdx,%rdi
1403924b0:	48 8d 05 c1 12 c5 00 	lea    0xc512c1(%rip),%rax        # 0x140fe3778
1403924b7:	4c 8b f1             	mov    %rcx,%r14
1403924ba:	33 ed                	xor    %ebp,%ebp
1403924bc:	0f 57 c0             	xorps  %xmm0,%xmm0
1403924bf:	0f 11 01             	movups %xmm0,(%rcx)
1403924c2:	48 c7 41 08 01 00 00 	movq   $0x1,0x8(%rcx)
1403924c9:	00
1403924ca:	48 89 01             	mov    %rax,(%rcx)
1403924cd:	48 8b 52 10          	mov    0x10(%rdx),%rdx
1403924d1:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1403924d5:	48 8b 07             	mov    (%rdi),%rax
1403924d8:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
1403924dc:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
1403924e0:	48 89 2f             	mov    %rbp,(%rdi)
1403924e3:	49 89 4e 18          	mov    %rcx,0x18(%r14)
1403924e7:	49 8d 4e 28          	lea    0x28(%r14),%rcx
1403924eb:	49 89 56 20          	mov    %rdx,0x20(%r14)
1403924ef:	48 8d 57 18          	lea    0x18(%rdi),%rdx
1403924f3:	49 89 46 10          	mov    %rax,0x10(%r14)
1403924f7:	e8 14 05 00 00       	call   0x140392a10
1403924fc:	48 8b 47 68          	mov    0x68(%rdi),%rax
140392500:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140392504:	49 89 46 78          	mov    %rax,0x78(%r14)
140392508:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
14039250c:	48 85 c9             	test   %rcx,%rcx
14039250f:	74 10                	je     0x140392521
140392511:	48 83 29 01          	subq   $0x1,(%rcx)
140392515:	75 0a                	jne    0x140392521
140392517:	ba 18 00 00 00       	mov    $0x18,%edx
14039251c:	e8 23 8c a8 00       	call   0x140e1b144
140392521:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140392525:	e8 36 5e e0 ff       	call   0x140198360
14039252a:	40 38 6f 48          	cmp    %bpl,0x48(%rdi)
14039252e:	74 09                	je     0x140392539
140392530:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140392534:	e8 c7 af e0 ff       	call   0x14019d500
140392539:	48 8b 1f             	mov    (%rdi),%rbx
14039253c:	48 85 db             	test   %rbx,%rbx
14039253f:	0f 84 85 00 00 00    	je     0x1403925ca
140392545:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
14039254a:	48 8b 77 08          	mov    0x8(%rdi),%rsi
14039254e:	48 3b de             	cmp    %rsi,%rbx
140392551:	74 11                	je     0x140392564
140392553:	48 8b cb             	mov    %rbx,%rcx
140392556:	e8 95 0e 00 00       	call   0x1403933f0
14039255b:	48 83 c3 28          	add    $0x28,%rbx
14039255f:	48 3b de             	cmp    %rsi,%rbx
140392562:	75 ef                	jne    0x140392553
140392564:	4c 8b 07             	mov    (%rdi),%r8
140392567:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
14039256e:	66 66 66
140392571:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140392575:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14039257a:	49 2b c8             	sub    %r8,%rcx
14039257d:	48 f7 e9             	imul   %rcx
140392580:	48 c1 fa 04          	sar    $0x4,%rdx
140392584:	48 8b c2             	mov    %rdx,%rax
140392587:	48 c1 e8 3f          	shr    $0x3f,%rax
14039258b:	48 03 d0             	add    %rax,%rdx
14039258e:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140392592:	48 c1 e2 03          	shl    $0x3,%rdx
140392596:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14039259d:	72 18                	jb     0x1403925b7
14039259f:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1403925a3:	48 83 c2 27          	add    $0x27,%rdx
1403925a7:	4c 2b c1             	sub    %rcx,%r8
1403925aa:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1403925ae:	48 83 f8 1f          	cmp    $0x1f,%rax
1403925b2:	77 27                	ja     0x1403925db
1403925b4:	4c 8b c1             	mov    %rcx,%r8
1403925b7:	49 8b c8             	mov    %r8,%rcx
1403925ba:	e8 85 8b a8 00       	call   0x140e1b144
1403925bf:	48 89 2f             	mov    %rbp,(%rdi)
1403925c2:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
1403925c6:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
1403925ca:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1403925cf:	49 8b c6             	mov    %r14,%rax
1403925d2:	48 83 c4 20          	add    $0x20,%rsp
1403925d6:	41 5e                	pop    %r14
1403925d8:	5f                   	pop    %rdi
1403925d9:	5d                   	pop    %rbp
1403925da:	c3                   	ret
1403925db:	e8 c4 7b a9 00       	call   0x140e2a1a4
1403925e0:	cc                   	int3
1403925e1:	cc                   	int3
1403925e2:	cc                   	int3
1403925e3:	cc                   	int3
1403925e4:	cc                   	int3
1403925e5:	cc                   	int3
1403925e6:	cc                   	int3
1403925e7:	cc                   	int3
1403925e8:	cc                   	int3
1403925e9:	cc                   	int3
1403925ea:	cc                   	int3
1403925eb:	cc                   	int3
1403925ec:	cc                   	int3
1403925ed:	cc                   	int3
1403925ee:	cc                   	int3
1403925ef:	cc                   	int3
1403925f0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1403925f5:	55                   	push   %rbp
1403925f6:	57                   	push   %rdi
1403925f7:	41 56                	push   %r14
1403925f9:	48 83 ec 20          	sub    $0x20,%rsp
1403925fd:	48 8b fa             	mov    %rdx,%rdi
140392600:	48 8d 05 a1 13 c5 00 	lea    0xc513a1(%rip),%rax        # 0x140fe39a8
140392607:	4c 8b f1             	mov    %rcx,%r14
14039260a:	33 ed                	xor    %ebp,%ebp
14039260c:	0f 57 c0             	xorps  %xmm0,%xmm0
14039260f:	0f 11 01             	movups %xmm0,(%rcx)
140392612:	48 c7 41 08 01 00 00 	movq   $0x1,0x8(%rcx)
140392619:	00
14039261a:	48 89 01             	mov    %rax,(%rcx)
14039261d:	48 8b 52 10          	mov    0x10(%rdx),%rdx
140392621:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140392625:	48 8b 07             	mov    (%rdi),%rax
140392628:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
14039262c:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140392630:	48 89 2f             	mov    %rbp,(%rdi)
140392633:	49 89 4e 18          	mov    %rcx,0x18(%r14)
140392637:	49 8d 4e 28          	lea    0x28(%r14),%rcx
14039263b:	49 89 56 20          	mov    %rdx,0x20(%r14)
14039263f:	48 8d 57 18          	lea    0x18(%rdi),%rdx
140392643:	49 89 46 10          	mov    %rax,0x10(%r14)
140392647:	e8 c4 03 00 00       	call   0x140392a10
14039264c:	48 8b 47 68          	mov    0x68(%rdi),%rax
140392650:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140392654:	49 89 46 78          	mov    %rax,0x78(%r14)
140392658:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
14039265c:	48 85 c9             	test   %rcx,%rcx
14039265f:	74 10                	je     0x140392671
140392661:	48 83 29 01          	subq   $0x1,(%rcx)
140392665:	75 0a                	jne    0x140392671
140392667:	ba 18 00 00 00       	mov    $0x18,%edx
14039266c:	e8 d3 8a a8 00       	call   0x140e1b144
140392671:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140392675:	e8 e6 5c e0 ff       	call   0x140198360
14039267a:	40 38 6f 48          	cmp    %bpl,0x48(%rdi)
14039267e:	74 09                	je     0x140392689
140392680:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140392684:	e8 77 ae e0 ff       	call   0x14019d500
140392689:	48 8b 1f             	mov    (%rdi),%rbx
14039268c:	48 85 db             	test   %rbx,%rbx
14039268f:	0f 84 85 00 00 00    	je     0x14039271a
140392695:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
14039269a:	48 8b 77 08          	mov    0x8(%rdi),%rsi
14039269e:	48 3b de             	cmp    %rsi,%rbx
1403926a1:	74 11                	je     0x1403926b4
1403926a3:	48 8b cb             	mov    %rbx,%rcx
1403926a6:	e8 45 0d 00 00       	call   0x1403933f0
1403926ab:	48 83 c3 28          	add    $0x28,%rbx
1403926af:	48 3b de             	cmp    %rsi,%rbx
1403926b2:	75 ef                	jne    0x1403926a3
1403926b4:	4c 8b 07             	mov    (%rdi),%r8
1403926b7:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1403926be:	66 66 66
1403926c1:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1403926c5:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1403926ca:	49 2b c8             	sub    %r8,%rcx
1403926cd:	48 f7 e9             	imul   %rcx
1403926d0:	48 c1 fa 04          	sar    $0x4,%rdx
1403926d4:	48 8b c2             	mov    %rdx,%rax
1403926d7:	48 c1 e8 3f          	shr    $0x3f,%rax
1403926db:	48 03 d0             	add    %rax,%rdx
1403926de:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
1403926e2:	48 c1 e2 03          	shl    $0x3,%rdx
1403926e6:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403926ed:	72 18                	jb     0x140392707
1403926ef:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1403926f3:	48 83 c2 27          	add    $0x27,%rdx
1403926f7:	4c 2b c1             	sub    %rcx,%r8
1403926fa:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1403926fe:	48 83 f8 1f          	cmp    $0x1f,%rax
140392702:	77 27                	ja     0x14039272b
140392704:	4c 8b c1             	mov    %rcx,%r8
140392707:	49 8b c8             	mov    %r8,%rcx
14039270a:	e8 35 8a a8 00       	call   0x140e1b144
14039270f:	48 89 2f             	mov    %rbp,(%rdi)
140392712:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140392716:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
14039271a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14039271f:	49 8b c6             	mov    %r14,%rax
140392722:	48 83 c4 20          	add    $0x20,%rsp
140392726:	41 5e                	pop    %r14
140392728:	5f                   	pop    %rdi
140392729:	5d                   	pop    %rbp
14039272a:	c3                   	ret
14039272b:	e8 74 7a a9 00       	call   0x140e2a1a4
140392730:	cc                   	int3
140392731:	cc                   	int3
140392732:	cc                   	int3
140392733:	cc                   	int3
140392734:	cc                   	int3
140392735:	cc                   	int3
140392736:	cc                   	int3
140392737:	cc                   	int3
140392738:	cc                   	int3
140392739:	cc                   	int3
14039273a:	cc                   	int3
14039273b:	cc                   	int3
14039273c:	cc                   	int3
14039273d:	cc                   	int3
14039273e:	cc                   	int3
14039273f:	cc                   	int3
140392740:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140392745:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14039274a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14039274f:	57                   	push   %rdi
140392750:	48 83 ec 40          	sub    $0x40,%rsp
140392754:	48 8b da             	mov    %rdx,%rbx
140392757:	48 8b f1             	mov    %rcx,%rsi
14039275a:	33 c0                	xor    %eax,%eax
14039275c:	48 89 01             	mov    %rax,(%rcx)
14039275f:	48 89 41 08          	mov    %rax,0x8(%rcx)
140392763:	48 89 41 10          	mov    %rax,0x10(%rcx)
140392767:	4c 8b 42 08          	mov    0x8(%rdx),%r8
14039276b:	4c 2b 02             	sub    (%rdx),%r8
14039276e:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140392775:	66 66 66
140392778:	49 f7 e8             	imul   %r8
14039277b:	48 c1 fa 04          	sar    $0x4,%rdx
14039277f:	48 8b c2             	mov    %rdx,%rax
140392782:	48 c1 e8 3f          	shr    $0x3f,%rax
140392786:	48 03 d0             	add    %rax,%rdx
140392789:	74 49                	je     0x1403927d4
14039278b:	e8 30 11 00 00       	call   0x1403938c0
140392790:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140392795:	48 8b 3e             	mov    (%rsi),%rdi
140392798:	48 8b 6b 08          	mov    0x8(%rbx),%rbp
14039279c:	48 8b 1b             	mov    (%rbx),%rbx
14039279f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1403927a4:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
1403927a9:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1403927ae:	48 3b dd             	cmp    %rbp,%rbx
1403927b1:	74 1d                	je     0x1403927d0
1403927b3:	48 8b d3             	mov    %rbx,%rdx
1403927b6:	48 8b cf             	mov    %rdi,%rcx
1403927b9:	e8 22 06 00 00       	call   0x140392de0
1403927be:	48 83 c7 28          	add    $0x28,%rdi
1403927c2:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
1403927c7:	48 83 c3 28          	add    $0x28,%rbx
1403927cb:	48 3b dd             	cmp    %rbp,%rbx
1403927ce:	75 e3                	jne    0x1403927b3
1403927d0:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
1403927d4:	48 8b c6             	mov    %rsi,%rax
1403927d7:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1403927dc:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1403927e1:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1403927e6:	48 83 c4 40          	add    $0x40,%rsp
1403927ea:	5f                   	pop    %rdi
1403927eb:	c3                   	ret
1403927ec:	cc                   	int3
1403927ed:	cc                   	int3
1403927ee:	cc                   	int3