14040541d:	cc                   	int3
14040541e:	cc                   	int3
14040541f:	cc                   	int3
140405420:	40 53                	rex push %rbx
140405422:	55                   	push   %rbp
140405423:	56                   	push   %rsi
140405424:	57                   	push   %rdi
140405425:	41 56                	push   %r14
140405427:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
14040542e:	48 8b 05 cb 3a fb 00 	mov    0xfb3acb(%rip),%rax        # 0x1413b8f00
140405435:	48 33 c4             	xor    %rsp,%rax
140405438:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
14040543d:	48 8b d9             	mov    %rcx,%rbx
140405440:	44 2b c2             	sub    %edx,%r8d
140405443:	0f 88 14 01 00 00    	js     0x14040555d
140405449:	48 89 11             	mov    %rdx,(%rcx)
14040544c:	49 63 f8             	movslq %r8d,%rdi
14040544f:	48 03 fa             	add    %rdx,%rdi
140405452:	48 89 79 08          	mov    %rdi,0x8(%rcx)
140405456:	2b fa                	sub    %edx,%edi
140405458:	49 8b 01             	mov    (%r9),%rax
14040545b:	48 8b 71 10          	mov    0x10(%rcx),%rsi
14040545f:	48 8b 68 30          	mov    0x30(%rax),%rbp
140405463:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
140405468:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14040546d:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140405472:	e8 19 1d 35 00       	call   0x140757190
140405477:	4c 8b f0             	mov    %rax,%r14
14040547a:	48 8d 05 a7 b7 bd 00 	lea    0xbdb7a7(%rip),%rax        # 0x140fe0c28
140405481:	48 8d 15 b0 b7 bd 00 	lea    0xbdb7b0(%rip),%rdx        # 0x140fe0c38
140405488:	80 7e 18 00          	cmpb   $0x0,0x18(%rsi)
14040548c:	48 0f 45 d0          	cmovne %rax,%rdx
140405490:	0f 57 c0             	xorps  %xmm0,%xmm0
140405493:	0f 11 44 24 50       	movups %xmm0,0x50(%rsp)
140405498:	0f 57 c9             	xorps  %xmm1,%xmm1
14040549b:	f3 0f 7f 4c 24 60    	movdqu %xmm1,0x60(%rsp)
1404054a1:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
1404054a8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1404054af:	00
1404054b0:	49 ff c0             	inc    %r8
1404054b3:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
1404054b8:	75 f6                	jne    0x1404054b0
1404054ba:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404054bf:	e8 3c 19 d9 ff       	call   0x140196e00
1404054c4:	90                   	nop
1404054c5:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
1404054ca:	48 83 7c 24 68 0f    	cmpq   $0xf,0x68(%rsp)
1404054d0:	4c 0f 47 44 24 50    	cmova  0x50(%rsp),%r8
1404054d6:	8b 56 28             	mov    0x28(%rsi),%edx
1404054d9:	48 8d 0d d0 9c be 00 	lea    0xbe9cd0(%rip),%rcx        # 0x140fef1b0
1404054e0:	e8 2b 24 46 00       	call   0x140867910
1404054e5:	90                   	nop
1404054e6:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1404054eb:	45 33 c9             	xor    %r9d,%r9d
1404054ee:	45 33 c0             	xor    %r8d,%r8d
1404054f1:	48 8b d0             	mov    %rax,%rdx
1404054f4:	48 8b cd             	mov    %rbp,%rcx
1404054f7:	e8 a4 bb ff ff       	call   0x1404010a0
1404054fc:	90                   	nop
1404054fd:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
140405502:	48 83 fa 0f          	cmp    $0xf,%rdx
140405506:	76 2e                	jbe    0x140405536
140405508:	48 ff c2             	inc    %rdx
14040550b:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140405510:	48 8b c1             	mov    %rcx,%rax
140405513:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14040551a:	72 15                	jb     0x140405531
14040551c:	48 83 c2 27          	add    $0x27,%rdx
140405520:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140405524:	48 2b c1             	sub    %rcx,%rax
140405527:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14040552b:	48 83 f8 1f          	cmp    $0x1f,%rax
14040552f:	77 26                	ja     0x140405557
140405531:	e8 0e 5c a1 00       	call   0x140e1b144
140405536:	c6 43 18 01          	movb   $0x1,0x18(%rbx)
14040553a:	8b c7                	mov    %edi,%eax
14040553c:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
140405541:	48 33 cc             	xor    %rsp,%rcx
140405544:	e8 b7 5f a1 00       	call   0x140e1b500
140405549:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140405550:	41 5e                	pop    %r14
140405552:	5f                   	pop    %rdi
140405553:	5e                   	pop    %rsi
140405554:	5d                   	pop    %rbp
140405555:	5b                   	pop    %rbx
140405556:	c3                   	ret
140405557:	e8 48 4c a2 00       	call   0x140e2a1a4
14040555c:	cc                   	int3
14040555d:	48 8d 15 04 9f be 00 	lea    0xbe9f04(%rip),%rdx        # 0x140fef468
140405564:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140405569:	e8 82 3a da ff       	call   0x1401a8ff0
14040556e:	48 8d 15 1b b5 f9 00 	lea    0xf9b51b(%rip),%rdx        # 0x1413a0a90
140405575:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14040557a:	e8 99 72 a1 00       	call   0x140e1c818
14040557f:	cc                   	int3
140405580:	4c 8b dc             	mov    %rsp,%r11
140405583:	57                   	push   %rdi
140405584:	41 56                	push   %r14
140405586:	41 57                	push   %r15
140405588:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
14040558f:	48 8b 05 6a 39 fb 00 	mov    0xfb396a(%rip),%rax        # 0x1413b8f00
140405596:	48 33 c4             	xor    %rsp,%rax
140405599:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
14040559e:	48 8d 7a 06          	lea    0x6(%rdx),%rdi
1404055a2:	4c 89 4c 24 48       	mov    %r9,0x48(%rsp)
1404055a7:	4c 8b f2             	mov    %rdx,%r14
1404055aa:	4c 8b f9             	mov    %rcx,%r15
1404055ad:	49 3b f8             	cmp    %r8,%rdi
1404055b0:	0f 87 3e 03 00 00    	ja     0x1404058f4
1404055b6:	48 83 c2 04          	add    $0x4,%rdx
1404055ba:	48 3b fa             	cmp    %rdx,%rdi
1404055bd:	0f 82 31 03 00 00    	jb     0x1404058f4
1404055c3:	83 bc 24 f0 00 00 00 	cmpl   $0x1,0xf0(%rsp)
1404055ca:	01
1404055cb:	41 0f b7 0e          	movzwl (%r14),%ecx
1404055cf:	49 89 5b e0          	mov    %rbx,-0x20(%r11)
1404055d3:	4d 89 6b c0          	mov    %r13,-0x40(%r11)
1404055d7:	75 13                	jne    0x1404055ec
1404055d9:	66 41 89 0f          	mov    %cx,(%r15)
1404055dd:	41 0f b7 46 02       	movzwl 0x2(%r14),%eax
1404055e2:	66 41 89 47 02       	mov    %ax,0x2(%r15)
1404055e7:	0f b7 12             	movzwl (%rdx),%edx
1404055ea:	eb 1d                	jmp    0x140405609
1404055ec:	66 c1 c9 08          	ror    $0x8,%cx
1404055f0:	66 41 89 0f          	mov    %cx,(%r15)
1404055f4:	41 0f b7 46 02       	movzwl 0x2(%r14),%eax
1404055f9:	66 c1 c8 08          	ror    $0x8,%ax
1404055fd:	66 41 89 47 02       	mov    %ax,0x2(%r15)
140405602:	0f b7 12             	movzwl (%rdx),%edx
140405605:	66 c1 ca 08          	ror    $0x8,%dx
140405609:	44 0f b7 c9          	movzwl %cx,%r9d
14040560d:	44 0f b7 e8          	movzwl %ax,%r13d
140405611:	41 83 c5 06          	add    $0x6,%r13d
140405615:	0f b7 ca             	movzwl %dx,%ecx
140405618:	45 03 e9             	add    %r9d,%r13d
14040561b:	66 41 89 57 04       	mov    %dx,0x4(%r15)
140405620:	44 03 e9             	add    %ecx,%r13d
140405623:	41 8b dd             	mov    %r13d,%ebx
140405626:	49 03 de             	add    %r14,%rbx
140405629:	49 3b d8             	cmp    %r8,%rbx
14040562c:	0f 87 96 02 00 00    	ja     0x1404058c8
140405632:	49 3b de             	cmp    %r14,%rbx
140405635:	0f 82 8d 02 00 00    	jb     0x1404058c8
14040563b:	48 89 ac 24 a0 00 00 	mov    %rbp,0xa0(%rsp)
140405642:	00
140405643:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
140405648:	41 f7 e1             	mul    %r9d
14040564b:	8b ea                	mov    %edx,%ebp
14040564d:	d1 ed                	shr    $1,%ebp
14040564f:	0f 88 ce 02 00 00    	js     0x140405923
140405655:	48 8b cb             	mov    %rbx,%rcx
140405658:	4c 89 a4 24 90 00 00 	mov    %r12,0x90(%rsp)
14040565f:	00
140405660:	49 2b ce             	sub    %r14,%rcx
140405663:	44 8b e5             	mov    %ebp,%r12d
140405666:	48 83 e9 06          	sub    $0x6,%rcx
14040566a:	48 b8 56 55 55 55 55 	movabs $0x5555555555555556,%rax
140405671:	55 55 55
140405674:	48 f7 e9             	imul   %rcx
140405677:	48 8b c2             	mov    %rdx,%rax
14040567a:	48 c1 e8 3f          	shr    $0x3f,%rax
14040567e:	48 03 d0             	add    %rax,%rdx
140405681:	4c 3b e2             	cmp    %rdx,%r12
140405684:	0f 8f c5 02 00 00    	jg     0x14040594f
14040568a:	b9 18 00 00 00       	mov    $0x18,%ecx
14040568f:	48 89 b4 24 98 00 00 	mov    %rsi,0x98(%rsp)
140405696:	00
140405697:	49 c7 47 10 00 00 00 	movq   $0x0,0x10(%r15)
14040569e:	00
14040569f:	e8 64 5a a1 00       	call   0x140e1b108
1404056a4:	48 8b c8             	mov    %rax,%rcx
1404056a7:	48 85 c0             	test   %rax,%rax
1404056aa:	74 0f                	je     0x1404056bb
1404056ac:	33 c0                	xor    %eax,%eax
1404056ae:	48 89 01             	mov    %rax,(%rcx)
1404056b1:	48 89 41 08          	mov    %rax,0x8(%rcx)
1404056b5:	48 89 41 10          	mov    %rax,0x10(%rcx)
1404056b9:	eb 02                	jmp    0x1404056bd
1404056bb:	33 c9                	xor    %ecx,%ecx
1404056bd:	49 89 4f 08          	mov    %rcx,0x8(%r15)
1404056c1:	48 8b 41 10          	mov    0x10(%rcx),%rax
1404056c5:	48 2b 01             	sub    (%rcx),%rax
1404056c8:	48 c1 f8 03          	sar    $0x3,%rax
1404056cc:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1404056d1:	4c 3b e0             	cmp    %rax,%r12
1404056d4:	76 1d                	jbe    0x1404056f3
1404056d6:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
1404056dd:	ff ff 1f
1404056e0:	4c 3b e0             	cmp    %rax,%r12
1404056e3:	0f 87 93 02 00 00    	ja     0x14040597c
1404056e9:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1404056ee:	e8 2d ff fb ff       	call   0x1403c5620
1404056f3:	85 ed                	test   %ebp,%ebp
1404056f5:	7e 6f                	jle    0x140405766
1404056f7:	45 33 e4             	xor    %r12d,%r12d
1404056fa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140405700:	b9 03 00 00 00       	mov    $0x3,%ecx
140405705:	e8 fe 59 a1 00       	call   0x140e1b108
14040570a:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14040570f:	48 85 c0             	test   %rax,%rax
140405712:	74 0a                	je     0x14040571e
140405714:	66 44 89 20          	mov    %r12w,(%rax)
140405718:	44 88 60 02          	mov    %r12b,0x2(%rax)
14040571c:	eb 03                	jmp    0x140405721
14040571e:	49 8b c4             	mov    %r12,%rax
140405721:	4c 8b c3             	mov    %rbx,%r8
140405724:	49 89 47 10          	mov    %rax,0x10(%r15)
140405728:	48 8b d7             	mov    %rdi,%rdx
14040572b:	48 8b c8             	mov    %rax,%rcx
14040572e:	e8 6d e0 ff ff       	call   0x1404037a0
140405733:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140405737:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14040573b:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
14040573f:	74 0e                	je     0x14040574f
140405741:	49 8b 47 10          	mov    0x10(%r15),%rax
140405745:	48 89 02             	mov    %rax,(%rdx)
140405748:	48 83 41 08 08       	addq   $0x8,0x8(%rcx)
14040574d:	eb 09                	jmp    0x140405758
14040574f:	4d 8d 47 10          	lea    0x10(%r15),%r8
140405753:	e8 68 fd fb ff       	call   0x1403c54c0
140405758:	48 83 c7 03          	add    $0x3,%rdi
14040575c:	4d 89 67 10          	mov    %r12,0x10(%r15)
140405760:	48 83 ed 01          	sub    $0x1,%rbp
140405764:	75 9a                	jne    0x140405700
140405766:	41 0f b7 77 02       	movzwl 0x2(%r15),%esi
14040576b:	41 2b fe             	sub    %r14d,%edi
14040576e:	83 ef 06             	sub    $0x6,%edi
140405771:	48 8b c3             	mov    %rbx,%rax
140405774:	4c 63 e7             	movslq %edi,%r12
140405777:	49 83 c4 06          	add    $0x6,%r12
14040577b:	4d 03 e6             	add    %r14,%r12
14040577e:	49 2b c4             	sub    %r12,%rax
140405781:	48 3b f0             	cmp    %rax,%rsi
140405784:	0f 8f f8 01 00 00    	jg     0x140405982
14040578a:	b9 18 00 00 00       	mov    $0x18,%ecx
14040578f:	41 c6 47 20 00       	movb   $0x0,0x20(%r15)
140405794:	e8 6f 59 a1 00       	call   0x140e1b108
140405799:	48 8b c8             	mov    %rax,%rcx
14040579c:	48 85 c0             	test   %rax,%rax
14040579f:	74 0f                	je     0x1404057b0
1404057a1:	33 c0                	xor    %eax,%eax
1404057a3:	48 89 01             	mov    %rax,(%rcx)
1404057a6:	48 89 41 08          	mov    %rax,0x8(%rcx)
1404057aa:	48 89 41 10          	mov    %rax,0x10(%rcx)
1404057ae:	eb 02                	jmp    0x1404057b2
1404057b0:	33 c9                	xor    %ecx,%ecx
1404057b2:	49 89 4f 18          	mov    %rcx,0x18(%r15)
1404057b6:	48 8b 41 10          	mov    0x10(%rcx),%rax
1404057ba:	48 2b 01             	sub    (%rcx),%rax
1404057bd:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
1404057c2:	48 3b f0             	cmp    %rax,%rsi
1404057c5:	76 0a                	jbe    0x1404057d1
1404057c7:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1404057cc:	e8 9f 25 db ff       	call   0x1401b7d70
1404057d1:	49 8b fc             	mov    %r12,%rdi
1404057d4:	85 f6                	test   %esi,%esi
1404057d6:	74 37                	je     0x14040580f
1404057d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1404057df:	00
1404057e0:	49 8b 4f 18          	mov    0x18(%r15),%rcx
1404057e4:	0f b6 07             	movzbl (%rdi),%eax
1404057e7:	41 88 47 20          	mov    %al,0x20(%r15)
1404057eb:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1404057ef:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
1404057f3:	74 08                	je     0x1404057fd
1404057f5:	88 02                	mov    %al,(%rdx)
1404057f7:	48 ff 41 08          	incq   0x8(%rcx)
1404057fb:	eb 09                	jmp    0x140405806
1404057fd:	4d 8d 47 20          	lea    0x20(%r15),%r8
140405801:	e8 1a 22 db ff       	call   0x1401b7a20
140405806:	48 ff c7             	inc    %rdi
140405809:	48 83 ee 01          	sub    $0x1,%rsi
14040580d:	75 d1                	jne    0x1404057e0
14040580f:	41 0f b7 57 04       	movzwl 0x4(%r15),%edx
140405814:	41 2b fc             	sub    %r12d,%edi
140405817:	48 63 cf             	movslq %edi,%rcx
14040581a:	49 03 cc             	add    %r12,%rcx
14040581d:	4c 8d 04 11          	lea    (%rcx,%rdx,1),%r8
140405821:	4c 3b c3             	cmp    %rbx,%r8
140405824:	0f 87 84 01 00 00    	ja     0x1404059ae
14040582a:	4c 3b c1             	cmp    %rcx,%r8
14040582d:	0f 82 7b 01 00 00    	jb     0x1404059ae
140405833:	44 8b c2             	mov    %edx,%r8d
140405836:	48 8b d1             	mov    %rcx,%rdx
140405839:	49 8d 4f 28          	lea    0x28(%r15),%rcx
14040583d:	e8 1e 8b da ff       	call   0x1401ae360
140405842:	49 8b 47 38          	mov    0x38(%r15),%rax
140405846:	4d 8d 4f 28          	lea    0x28(%r15),%r9
14040584a:	4d 8b 47 08          	mov    0x8(%r15),%r8
14040584e:	0f 57 d2             	xorps  %xmm2,%xmm2
140405851:	4d 8b 57 18          	mov    0x18(%r15),%r10
140405855:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
14040585a:	8b 50 20             	mov    0x20(%rax),%edx
14040585d:	33 c0                	xor    %eax,%eax
14040585f:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140405864:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140405869:	41 89 57 40          	mov    %edx,0x40(%r15)
14040586d:	48 8b 09             	mov    (%rcx),%rcx
140405870:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140405875:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
14040587a:	e8 41 16 00 00       	call   0x140406ec0
14040587f:	48 8b b4 24 98 00 00 	mov    0x98(%rsp),%rsi
140405886:	00
140405887:	4c 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12
14040588e:	00
14040588f:	48 8b ac 24 a0 00 00 	mov    0xa0(%rsp),%rbp
140405896:	00
140405897:	48 8b 9c 24 a8 00 00 	mov    0xa8(%rsp),%rbx
14040589e:	00
14040589f:	41 88 47 44          	mov    %al,0x44(%r15)
1404058a3:	41 8b c5             	mov    %r13d,%eax
1404058a6:	4c 8b ac 24 88 00 00 	mov    0x88(%rsp),%r13
1404058ad:	00
1404058ae:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1404058b3:	48 33 cc             	xor    %rsp,%rcx
1404058b6:	e8 45 5c a1 00       	call   0x140e1b500
1404058bb:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
1404058c2:	41 5f                	pop    %r15
1404058c4:	41 5e                	pop    %r14
1404058c6:	5f                   	pop    %rdi
1404058c7:	c3                   	ret
1404058c8:	45 2b c6             	sub    %r14d,%r8d
1404058cb:	48 8d 15 9e 9f be 00 	lea    0xbe9f9e(%rip),%rdx        # 0x140fef870
1404058d2:	45 8b c8             	mov    %r8d,%r9d
1404058d5:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404058da:	45 8b c5             	mov    %r13d,%r8d
1404058dd:	e8 0e 38 da ff       	call   0x1401a90f0
1404058e2:	48 8d 15 e7 b0 f9 00 	lea    0xf9b0e7(%rip),%rdx        # 0x1413a09d0
1404058e9:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404058ee:	e8 25 6f a1 00       	call   0x140e1c818
1404058f3:	cc                   	int3
1404058f4:	45 2b c6             	sub    %r14d,%r8d
1404058f7:	48 8d 15 5a 9f be 00 	lea    0xbe9f5a(%rip),%rdx        # 0x140fef858
1404058fe:	45 8b c8             	mov    %r8d,%r9d
140405901:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140405906:	41 b8 06 00 00 00    	mov    $0x6,%r8d
14040590c:	e8 df 37 da ff       	call   0x1401a90f0
140405911:	48 8d 15 b8 b0 f9 00 	lea    0xf9b0b8(%rip),%rdx        # 0x1413a09d0
140405918:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14040591d:	e8 f6 6e a1 00       	call   0x140e1c818
140405922:	cc                   	int3
140405923:	41 2b de             	sub    %r14d,%ebx
140405926:	48 8d 15 53 9f be 00 	lea    0xbe9f53(%rip),%rdx        # 0x140fef880
14040592d:	44 8b cb             	mov    %ebx,%r9d
140405930:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140405935:	44 8b c5             	mov    %ebp,%r8d
140405938:	e8 b3 37 da ff       	call   0x1401a90f0
14040593d:	48 8d 15 8c b0 f9 00 	lea    0xf9b08c(%rip),%rdx        # 0x1413a09d0
140405944:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140405949:	e8 ca 6e a1 00       	call   0x140e1c818