140015396:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14001539c:	0f b7 4e 20          	movzwl 0x20(%rsi),%ecx
1400153a0:	41 03 c0             	add    %r8d,%eax
1400153a3:	33 d2                	xor    %edx,%edx
1400153a5:	f7 f1                	div    %ecx
1400153a7:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400153ab:	41 8b c8             	mov    %r8d,%ecx
1400153ae:	66 89 56 22          	mov    %dx,0x22(%rsi)
1400153b2:	f0 0f c1 08          	lock xadd %ecx,(%rax)
1400153b6:	0f b7 46 22          	movzwl 0x22(%rsi),%eax
1400153ba:	41 03 c8             	add    %r8d,%ecx
1400153bd:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
1400153c1:	48 8d 1c 80          	lea    (%rax,%rax,4),%rbx
1400153c5:	48 c1 e3 04          	shl    $0x4,%rbx
1400153c9:	48 03 5e 18          	add    0x18(%rsi),%rbx
1400153cd:	89 4b 04             	mov    %ecx,0x4(%rbx)
1400153d0:	4c 8d 7b 10          	lea    0x10(%rbx),%r15
1400153d4:	41 8b 46 04          	mov    0x4(%r14),%eax
1400153d8:	48 8d 6b 20          	lea    0x20(%rbx),%rbp
1400153dc:	89 43 08             	mov    %eax,0x8(%rbx)
1400153df:	4c 8d 63 38          	lea    0x38(%rbx),%r12
1400153e3:	4d 89 2f             	mov    %r13,(%r15)
1400153e6:	41 0f b7 46 38       	movzwl 0x38(%r14),%eax
1400153eb:	66 89 43 18          	mov    %ax,0x18(%rbx)
1400153ef:	41 8a 06             	mov    (%r14),%al
1400153f2:	88 43 1a             	mov    %al,0x1a(%rbx)
1400153f5:	4c 89 6d 00          	mov    %r13,0x0(%rbp)
1400153f9:	49 8b 86 80 00 00 00 	mov    0x80(%r14),%rax
140015400:	48 89 43 28          	mov    %rax,0x28(%rbx)
140015404:	49 8b 86 88 00 00 00 	mov    0x88(%r14),%rax
14001540b:	48 89 43 30          	mov    %rax,0x30(%rbx)
14001540f:	4d 89 2c 24          	mov    %r13,(%r12)
140015413:	49 8b 4e 30          	mov    0x30(%r14),%rcx
140015417:	48 85 c9             	test   %rcx,%rcx
14001541a:	75 05                	jne    0x140015421
14001541c:	41 8b c0             	mov    %r8d,%eax
14001541f:	eb 0f                	jmp    0x140015430
140015421:	48 8b c2             	mov    %rdx,%rax
140015424:	48 ff c0             	inc    %rax
140015427:	44 38 2c 01          	cmp    %r13b,(%rcx,%rax,1)
14001542b:	75 f7                	jne    0x140015424
14001542d:	49 03 c0             	add    %r8,%rax
140015430:	4d 8b 4e 78          	mov    0x78(%r14),%r9
140015434:	4d 85 c9             	test   %r9,%r9
140015437:	74 0f                	je     0x140015448
140015439:	48 8b ca             	mov    %rdx,%rcx
14001543c:	48 ff c1             	inc    %rcx
14001543f:	45 38 2c 09          	cmp    %r13b,(%r9,%rcx,1)
140015443:	75 f7                	jne    0x14001543c
140015445:	4c 03 c1             	add    %rcx,%r8
140015448:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14001544c:	48 85 c9             	test   %rcx,%rcx
14001544f:	75 05                	jne    0x140015456
140015451:	8d 51 02             	lea    0x2(%rcx),%edx
140015454:	eb 12                	jmp    0x140015468
140015456:	48 ff c2             	inc    %rdx
140015459:	66 44 39 2c 51       	cmp    %r13w,(%rcx,%rdx,2)
14001545e:	75 f6                	jne    0x140015456
140015460:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140015467:	00
140015468:	4a 8d 3c 02          	lea    (%rdx,%r8,1),%rdi
14001546c:	48 03 f8             	add    %rax,%rdi
14001546f:	4c 39 6b 40          	cmp    %r13,0x40(%rbx)
140015473:	74 06                	je     0x14001547b
140015475:	48 39 7b 48          	cmp    %rdi,0x48(%rbx)
140015479:	73 7c                	jae    0x1400154f7
14001547b:	48 ff 15 86 02 02 00 	rex.W call *0x20286(%rip)        # 0x140035708
140015482:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140015487:	4c 8b c7             	mov    %rdi,%r8
14001548a:	ba 08 00 00 00       	mov    $0x8,%edx
14001548f:	48 8b c8             	mov    %rax,%rcx
140015492:	48 ff 15 7f 02 02 00 	rex.W call *0x2027f(%rip)        # 0x140035718
140015499:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001549e:	4c 39 2d 33 94 02 00 	cmp    %r13,0x29433(%rip)        # 0x14003e8d8
1400154a5:	48 8b f0             	mov    %rax,%rsi
1400154a8:	74 1f                	je     0x1400154c9
1400154aa:	48 ff 15 57 02 02 00 	rex.W call *0x20257(%rip)        # 0x140035708
1400154b1:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400154b6:	48 8b c8             	mov    %rax,%rcx
1400154b9:	48 8b d6             	mov    %rsi,%rdx
1400154bc:	48 8b 05 15 94 02 00 	mov    0x29415(%rip),%rax        # 0x14003e8d8
1400154c3:	ff 15 ff 08 02 00    	call   *0x208ff(%rip)        # 0x140035dc8
1400154c9:	48 85 f6             	test   %rsi,%rsi
1400154cc:	74 29                	je     0x1400154f7
1400154ce:	48 ff 15 33 02 02 00 	rex.W call *0x20233(%rip)        # 0x140035708
1400154d5:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400154da:	4c 8b 43 40          	mov    0x40(%rbx),%r8
1400154de:	33 d2                	xor    %edx,%edx
1400154e0:	48 8b c8             	mov    %rax,%rcx
1400154e3:	48 ff 15 26 02 02 00 	rex.W call *0x20226(%rip)        # 0x140035710
1400154ea:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400154ef:	48 89 73 40          	mov    %rsi,0x40(%rbx)
1400154f3:	48 89 7b 48          	mov    %rdi,0x48(%rbx)
1400154f7:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1400154fb:	48 85 c9             	test   %rcx,%rcx
1400154fe:	74 4a                	je     0x14001554a
140015500:	48 8b 5b 48          	mov    0x48(%rbx),%rbx
140015504:	4d 8b cf             	mov    %r15,%r9
140015507:	4d 8b 46 30          	mov    0x30(%r14),%r8
14001550b:	48 03 d9             	add    %rcx,%rbx
14001550e:	48 8b d3             	mov    %rbx,%rdx
140015511:	e8 b6 2a ff ff       	call   0x140007fcc
140015516:	4d 8b 46 78          	mov    0x78(%r14),%r8
14001551a:	4c 8b cd             	mov    %rbp,%r9
14001551d:	48 8b d3             	mov    %rbx,%rdx
140015520:	48 8b c8             	mov    %rax,%rcx
140015523:	e8 a4 2a ff ff       	call   0x140007fcc
140015528:	4d 8b 46 10          	mov    0x10(%r14),%r8
14001552c:	4d 8b cc             	mov    %r12,%r9
14001552f:	48 8b d3             	mov    %rbx,%rdx
140015532:	48 8b c8             	mov    %rax,%rcx
140015535:	e8 12 2b ff ff       	call   0x14000804c
14001553a:	48 2b d8             	sub    %rax,%rbx
14001553d:	33 d2                	xor    %edx,%edx
14001553f:	4c 8b c3             	mov    %rbx,%r8
140015542:	48 8b c8             	mov    %rax,%rcx
140015545:	e8 c4 cd 01 00       	call   0x14003230e
14001554a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14001554f:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140015554:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140015559:	48 83 c4 20          	add    $0x20,%rsp
14001555d:	41 5f                	pop    %r15
14001555f:	41 5e                	pop    %r14
140015561:	41 5d                	pop    %r13
140015563:	41 5c                	pop    %r12
140015565:	5f                   	pop    %rdi
140015566:	c3                   	ret
140015567:	cc                   	int3
140015568:	cc                   	int3
140015569:	cc                   	int3
14001556a:	cc                   	int3
14001556b:	cc                   	int3
14001556c:	cc                   	int3
14001556d:	cc                   	int3
14001556e:	cc                   	int3
14001556f:	cc                   	int3
140015570:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140015575:	57                   	push   %rdi
140015576:	48 83 ec 20          	sub    $0x20,%rsp
14001557a:	48 8b 3d 67 94 02 00 	mov    0x29467(%rip),%rdi        # 0x14003e9e8
140015581:	33 db                	xor    %ebx,%ebx
140015583:	48 85 ff             	test   %rdi,%rdi
140015586:	0f 84 94 00 00 00    	je     0x140015620
14001558c:	48 39 5f 08          	cmp    %rbx,0x8(%rdi)
140015590:	75 25                	jne    0x1400155b7
140015592:	48 8b 0f             	mov    (%rdi),%rcx
140015595:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
14001559a:	48 21 5c 24 38       	and    %rbx,0x38(%rsp)
14001559f:	e8 10 04 00 00       	call   0x1400159b4
1400155a4:	85 c0                	test   %eax,%eax
1400155a6:	78 0f                	js     0x1400155b7
1400155a8:	48 39 5f 08          	cmp    %rbx,0x8(%rdi)
1400155ac:	75 09                	jne    0x1400155b7
1400155ae:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1400155b3:	48 89 47 08          	mov    %rax,0x8(%rdi)
1400155b7:	48 8b 47 08          	mov    0x8(%rdi),%rax
1400155bb:	48 8d 48 20          	lea    0x20(%rax),%rcx
1400155bf:	48 f7 d8             	neg    %rax
1400155c2:	48 1b ff             	sbb    %rdi,%rdi
1400155c5:	48 23 f9             	and    %rcx,%rdi
1400155c8:	74 56                	je     0x140015620
1400155ca:	48 ff 15 df 01 02 00 	rex.W call *0x201df(%rip)        # 0x1400357b0
1400155d1:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400155d6:	44 8b c0             	mov    %eax,%r8d
1400155d9:	44 8b c8             	mov    %eax,%r9d
1400155dc:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
1400155e3:	cc cc cc
1400155e6:	49 f7 e1             	mul    %r9
1400155e9:	48 c1 ea 03          	shr    $0x3,%rdx
1400155ed:	48 8d 0c 92          	lea    (%rdx,%rdx,4),%rcx
1400155f1:	48 03 c9             	add    %rcx,%rcx
1400155f4:	4c 2b c1             	sub    %rcx,%r8
1400155f7:	4a 8b 5c c7 08       	mov    0x8(%rdi,%r8,8),%rbx
1400155fc:	eb 09                	jmp    0x140015607
1400155fe:	44 39 0b             	cmp    %r9d,(%rbx)
140015601:	74 2c                	je     0x14001562f
140015603:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140015607:	48 85 db             	test   %rbx,%rbx
14001560a:	75 f2                	jne    0x1400155fe
14001560c:	48 85 db             	test   %rbx,%rbx
14001560f:	74 0f                	je     0x140015620
140015611:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
140015616:	75 08                	jne    0x140015620
140015618:	48 8d 4f 04          	lea    0x4(%rdi),%rcx
14001561c:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140015620:	48 8b c3             	mov    %rbx,%rax
140015623:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140015628:	48 83 c4 20          	add    $0x20,%rsp
14001562c:	5f                   	pop    %rdi
14001562d:	c3                   	ret
14001562e:	cc                   	int3
14001562f:	48 83 c3 10          	add    $0x10,%rbx
140015633:	eb d7                	jmp    0x14001560c
140015635:	cc                   	int3
140015636:	cc                   	int3
140015637:	cc                   	int3
140015638:	cc                   	int3
140015639:	cc                   	int3
14001563a:	cc                   	int3
14001563b:	cc                   	int3
14001563c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140015641:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140015646:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14001564b:	57                   	push   %rdi
14001564c:	48 83 ec 20          	sub    $0x20,%rsp
140015650:	32 c0                	xor    %al,%al
140015652:	41 c6 00 00          	movb   $0x0,(%r8)
140015656:	49 8b e9             	mov    %r9,%rbp
140015659:	49 8b f8             	mov    %r8,%rdi
14001565c:	48 8b f2             	mov    %rdx,%rsi
14001565f:	48 8b d9             	mov    %rcx,%rbx
140015662:	48 85 d2             	test   %rdx,%rdx
140015665:	0f 84 b7 00 00 00    	je     0x140015722
14001566b:	48 8b 52 10          	mov    0x10(%rdx),%rdx
14001566f:	e8 c8 ff ff ff       	call   0x14001563c
140015674:	48 8b 56 20          	mov    0x20(%rsi),%rdx
140015678:	48 85 d2             	test   %rdx,%rdx
14001567b:	0f 84 a1 00 00 00    	je     0x140015722
140015681:	83 3a 00             	cmpl   $0x0,(%rdx)
140015684:	75 11                	jne    0x140015697
140015686:	b8 01 00 00 00       	mov    $0x1,%eax
14001568b:	f0 0f c1 05 8d 8a 02 	lock xadd %eax,0x28a8d(%rip)        # 0x14003e120
140015692:	00
140015693:	ff c0                	inc    %eax
140015695:	89 02                	mov    %eax,(%rdx)
140015697:	83 7b 48 00          	cmpl   $0x0,0x48(%rbx)
14001569b:	75 11                	jne    0x1400156ae
14001569d:	0f 10 02             	movups (%rdx),%xmm0
1400156a0:	0f 11 43 48          	movups %xmm0,0x48(%rbx)
1400156a4:	f2 0f 10 4a 10       	movsd  0x10(%rdx),%xmm1
1400156a9:	f2 0f 11 4b 58       	movsd  %xmm1,0x58(%rbx)
1400156ae:	0f 10 02             	movups (%rdx),%xmm0
1400156b1:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
1400156b5:	4c 8d 14 2f          	lea    (%rdi,%rbp,1),%r10
1400156b9:	48 8b c1             	mov    %rcx,%rax
1400156bc:	0f 11 43 60          	movups %xmm0,0x60(%rbx)
1400156c0:	f2 0f 10 4a 10       	movsd  0x10(%rdx),%xmm1
1400156c5:	f2 0f 11 4b 70       	movsd  %xmm1,0x70(%rbx)
1400156ca:	48 ff c0             	inc    %rax
1400156cd:	80 3c 07 00          	cmpb   $0x0,(%rdi,%rax,1)
1400156d1:	75 f7                	jne    0x1400156ca
1400156d3:	48 03 f8             	add    %rax,%rdi
1400156d6:	49 8b c2             	mov    %r10,%rax
1400156d9:	48 2b c7             	sub    %rdi,%rax
1400156dc:	48 83 f8 02          	cmp    $0x2,%rax
1400156e0:	7e 3e                	jle    0x140015720
1400156e2:	c6 07 5c             	movb   $0x5c,(%rdi)
1400156e5:	48 ff c7             	inc    %rdi
1400156e8:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1400156ec:	48 ff c1             	inc    %rcx
1400156ef:	41 80 3c 08 00       	cmpb   $0x0,(%r8,%rcx,1)
1400156f4:	75 f6                	jne    0x1400156ec
1400156f6:	48 ff c1             	inc    %rcx
1400156f9:	4c 2b d7             	sub    %rdi,%r10
1400156fc:	49 3b ca             	cmp    %r10,%rcx
1400156ff:	49 8b da             	mov    %r10,%rbx
140015702:	49 8b d2             	mov    %r10,%rdx
140015705:	48 0f 42 d9          	cmovb  %rcx,%rbx
140015709:	48 8b cf             	mov    %rdi,%rcx
14001570c:	4c 8b cb             	mov    %rbx,%r9
14001570f:	48 ff 15 42 06 02 00 	rex.W call *0x20642(%rip)        # 0x140035d58
140015716:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001571b:	c6 44 3b ff 00       	movb   $0x0,-0x1(%rbx,%rdi,1)
140015720:	b0 01                	mov    $0x1,%al
140015722:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140015727:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14001572c:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140015731:	48 83 c4 20          	add    $0x20,%rsp
140015735:	5f                   	pop    %rdi
140015736:	c3                   	ret
140015737:	cc                   	int3
140015738:	cc                   	int3
140015739:	cc                   	int3
14001573a:	cc                   	int3
14001573b:	cc                   	int3
14001573c:	cc                   	int3
14001573d:	cc                   	int3
14001573e:	cc                   	int3
14001573f:	cc                   	int3
140015740:	48 8b c4             	mov    %rsp,%rax
140015743:	48 89 58 08          	mov    %rbx,0x8(%rax)
140015747:	48 89 68 10          	mov    %rbp,0x10(%rax)
14001574b:	48 89 70 18          	mov    %rsi,0x18(%rax)
14001574f:	48 89 78 20          	mov    %rdi,0x20(%rax)
140015753:	41 56                	push   %r14
140015755:	48 83 ec 20          	sub    $0x20,%rsp
140015759:	c6 02 00             	movb   $0x0,(%rdx)
14001575c:	40 32 ed             	xor    %bpl,%bpl
14001575f:	48 8b 1d 7a 91 02 00 	mov    0x2917a(%rip),%rbx        # 0x14003e8e0
140015766:	4d 8b f0             	mov    %r8,%r14
140015769:	48 8b f2             	mov    %rdx,%rsi
14001576c:	48 8b f9             	mov    %rcx,%rdi
14001576f:	48 85 db             	test   %rbx,%rbx
140015772:	74 45                	je     0x1400157b9
140015774:	48 ff 15 35 00 02 00 	rex.W call *0x20035(%rip)        # 0x1400357b0
14001577b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140015780:	44 8b c8             	mov    %eax,%r9d
140015783:	44 8b d0             	mov    %eax,%r10d
140015786:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
14001578d:	cc cc cc
140015790:	49 f7 e2             	mul    %r10
140015793:	48 c1 ea 03          	shr    $0x3,%rdx
140015797:	48 8d 0c 92          	lea    (%rdx,%rdx,4),%rcx
14001579b:	48 03 c9             	add    %rcx,%rcx
14001579e:	4c 2b c9             	sub    %rcx,%r9
1400157a1:	4a 8b 1c cb          	mov    (%rbx,%r9,8),%rbx
1400157a5:	eb 0d                	jmp    0x1400157b4
1400157a7:	44 39 13             	cmp    %r10d,(%rbx)
1400157aa:	0f 84 de 00 00 00    	je     0x14001588e
1400157b0:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1400157b4:	48 85 db             	test   %rbx,%rbx
1400157b7:	75 ee                	jne    0x1400157a7
1400157b9:	33 db                	xor    %ebx,%ebx
1400157bb:	48 85 db             	test   %rbx,%rbx
1400157be:	74 44                	je     0x140015804
1400157c0:	48 83 3b 00          	cmpq   $0x0,(%rbx)
1400157c4:	74 3e                	je     0x140015804
1400157c6:	40 88 2e             	mov    %bpl,(%rsi)
1400157c9:	4d 8b ce             	mov    %r14,%r9
1400157cc:	48 8b 13             	mov    (%rbx),%rdx
1400157cf:	4c 8b c6             	mov    %rsi,%r8
1400157d2:	48 8b cf             	mov    %rdi,%rcx
1400157d5:	e8 62 fe ff ff       	call   0x14001563c
1400157da:	84 c0                	test   %al,%al
1400157dc:	74 04                	je     0x1400157e2
1400157de:	48 89 77 40          	mov    %rsi,0x40(%rdi)
1400157e2:	48 8b 1b             	mov    (%rbx),%rbx
1400157e5:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400157e9:	48 8b d7             	mov    %rdi,%rdx
1400157ec:	48 8b 01             	mov    (%rcx),%rax
1400157ef:	48 8b 00             	mov    (%rax),%rax
1400157f2:	ff 15 d0 05 02 00    	call   *0x205d0(%rip)        # 0x140035dc8
1400157f8:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
1400157fc:	40 0a e8             	or     %al,%bpl
1400157ff:	48 85 db             	test   %rbx,%rbx
140015802:	75 e1                	jne    0x1400157e5
140015804:	48 8b 05 e5 91 02 00 	mov    0x291e5(%rip),%rax        # 0x14003e9f0
14001580b:	48 85 c0             	test   %rax,%rax
14001580e:	74 0c                	je     0x14001581c
140015810:	48 8b d7             	mov    %rdi,%rdx
140015813:	40 8a cd             	mov    %bpl,%cl
140015816:	ff 15 ac 05 02 00    	call   *0x205ac(%rip)        # 0x140035dc8
14001581c:	48 ff 15 8d ff 01 00 	rex.W call *0x1ff8d(%rip)        # 0x1400357b0
140015823:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140015828:	8b 0d e6 91 02 00    	mov    0x291e6(%rip),%ecx        # 0x14003ea14
14001582e:	3b c8                	cmp    %eax,%ecx
140015830:	74 40                	je     0x140015872
140015832:	b9 01 00 00 00       	mov    $0x1,%ecx
140015837:	f0 0f c1 0d d9 91 02 	lock xadd %ecx,0x291d9(%rip)        # 0x14003ea18
14001583e:	00