14057943d:	eb 02                	jmp    0x140579441
14057943f:	8b c6                	mov    %esi,%eax
140579441:	4c 63 47 38          	movslq 0x38(%rdi),%r8
140579445:	bb ff ff 00 00       	mov    $0xffff,%ebx
14057944a:	44 3b c0             	cmp    %eax,%r8d
14057944d:	7d 39                	jge    0x140579488
14057944f:	49 8b c8             	mov    %r8,%rcx
140579452:	49 8b d0             	mov    %r8,%rdx
140579455:	48 c1 e1 05          	shl    $0x5,%rcx
140579459:	49 03 c9             	add    %r9,%rcx
14057945c:	66 39 19             	cmp    %bx,(%rcx)
14057945f:	75 27                	jne    0x140579488
140579461:	4d 85 c9             	test   %r9,%r9
140579464:	74 06                	je     0x14057946c
140579466:	41 8b 46 04          	mov    0x4(%r14),%eax
14057946a:	eb 02                	jmp    0x14057946e
14057946c:	8b c6                	mov    %esi,%eax
14057946e:	48 98                	cltq
140579470:	41 ff c0             	inc    %r8d
140579473:	48 8d 49 20          	lea    0x20(%rcx),%rcx
140579477:	48 ff c2             	inc    %rdx
14057947a:	48 3b d0             	cmp    %rax,%rdx
14057947d:	7d 05                	jge    0x140579484
14057947f:	66 39 19             	cmp    %bx,(%rcx)
140579482:	74 ec                	je     0x140579470
140579484:	44 89 47 38          	mov    %r8d,0x38(%rdi)
140579488:	41 8b 4d 04          	mov    0x4(%r13),%ecx
14057948c:	49 8d 55 18          	lea    0x18(%r13),%rdx
140579490:	41 8b 45 08          	mov    0x8(%r13),%eax
140579494:	83 f9 08             	cmp    $0x8,%ecx
140579497:	76 03                	jbe    0x14057949c
140579499:	48 8b 12             	mov    (%rdx),%rdx
14057949c:	39 47 18             	cmp    %eax,0x18(%rdi)
14057949f:	75 70                	jne    0x140579511
1405794a1:	8b 47 14             	mov    0x14(%rdi),%eax
1405794a4:	3b c1                	cmp    %ecx,%eax
1405794a6:	75 69                	jne    0x140579511
1405794a8:	48 8d 4f 28          	lea    0x28(%rdi),%rcx
1405794ac:	83 f8 08             	cmp    $0x8,%eax
1405794af:	76 03                	jbe    0x1405794b4
1405794b1:	48 8b 09             	mov    (%rcx),%rcx
1405794b4:	4c 8b c0             	mov    %rax,%r8
1405794b7:	e8 94 65 96 00       	call   0x140edfa50
1405794bc:	85 c0                	test   %eax,%eax
1405794be:	75 51                	jne    0x140579511
1405794c0:	48 63 47 38          	movslq 0x38(%rdi),%rax
1405794c4:	85 c0                	test   %eax,%eax
1405794c6:	78 28                	js     0x1405794f0
1405794c8:	49 8b 4e 40          	mov    0x40(%r14),%rcx
1405794cc:	48 85 c9             	test   %rcx,%rcx
1405794cf:	74 1f                	je     0x1405794f0
1405794d1:	41 3b 46 04          	cmp    0x4(%r14),%eax
1405794d5:	7d 19                	jge    0x1405794f0
1405794d7:	48 c1 e0 05          	shl    $0x5,%rax
1405794db:	66 39 1c 08          	cmp    %bx,(%rax,%rcx,1)
1405794df:	74 0f                	je     0x1405794f0
1405794e1:	0f 10 04 08          	movups (%rax,%rcx,1),%xmm0
1405794e5:	0f 11 47 10          	movups %xmm0,0x10(%rdi)
1405794e9:	0f 10 4c 08 10       	movups 0x10(%rax,%rcx,1),%xmm1
1405794ee:	eb 1d                	jmp    0x14057950d
1405794f0:	66 89 5c 24 20       	mov    %bx,0x20(%rsp)
1405794f5:	48 89 74 24 24       	mov    %rsi,0x24(%rsp)
1405794fa:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
1405794ff:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140579504:	0f 10 4c 24 30       	movups 0x30(%rsp),%xmm1
140579509:	0f 11 47 10          	movups %xmm0,0x10(%rdi)
14057950d:	0f 11 4f 20          	movups %xmm1,0x20(%rdi)
140579511:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
140579516:	49 8b 5b 38          	mov    0x38(%r11),%rbx
14057951a:	49 8b 6b 40          	mov    0x40(%r11),%rbp
14057951e:	49 8b 73 48          	mov    0x48(%r11),%rsi
140579522:	49 8b e3             	mov    %r11,%rsp
140579525:	41 5f                	pop    %r15
140579527:	41 5e                	pop    %r14
140579529:	41 5d                	pop    %r13
14057952b:	41 5c                	pop    %r12
14057952d:	5f                   	pop    %rdi
14057952e:	c3                   	ret
14057952f:	cc                   	int3
140579530:	40 53                	rex push %rbx
140579532:	57                   	push   %rdi
140579533:	41 56                	push   %r14
140579535:	48 83 ec 20          	sub    $0x20,%rsp
140579539:	45 33 f6             	xor    %r14d,%r14d
14057953c:	48 8b d9             	mov    %rcx,%rbx
14057953f:	4c 39 71 40          	cmp    %r14,0x40(%rcx)
140579543:	0f 84 86 00 00 00    	je     0x1405795cf
140579549:	8b 41 04             	mov    0x4(%rcx),%eax
14057954c:	83 e8 01             	sub    $0x1,%eax
14057954f:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
140579554:	48 63 e8             	movslq %eax,%rbp
140579557:	78 64                	js     0x1405795bd
140579559:	4c 89 7c 24 50       	mov    %r15,0x50(%rsp)
14057955e:	48 8b fd             	mov    %rbp,%rdi
140579561:	48 c1 e7 05          	shl    $0x5,%rdi
140579565:	41 bf ff ff 00 00    	mov    $0xffff,%r15d
14057956b:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
140579570:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140579574:	66 44 39 3c 39       	cmp    %r15w,(%rcx,%rdi,1)
140579579:	74 2e                	je     0x1405795a9
14057957b:	48 8b 43 38          	mov    0x38(%rbx),%rax
14057957f:	48 85 c0             	test   %rax,%rax
140579582:	74 0b                	je     0x14057958f
140579584:	48 8b 4c 39 10       	mov    0x10(%rcx,%rdi,1),%rcx
140579589:	ff 15 91 a4 a0 00    	call   *0xa0a491(%rip)        # 0x140f83a20
14057958f:	48 8b 73 40          	mov    0x40(%rbx),%rsi
140579593:	83 7c 3e 04 08       	cmpl   $0x8,0x4(%rsi,%rdi,1)
140579598:	76 0a                	jbe    0x1405795a4
14057959a:	48 8b 4c 3e 18       	mov    0x18(%rsi,%rdi,1),%rcx
14057959f:	e8 a0 1b 8a 00       	call   0x140e1b144
1405795a4:	66 44 89 3c 3e       	mov    %r15w,(%rsi,%rdi,1)
1405795a9:	48 83 ef 20          	sub    $0x20,%rdi
1405795ad:	48 83 ed 01          	sub    $0x1,%rbp
1405795b1:	79 bd                	jns    0x140579570
1405795b3:	4c 8b 7c 24 50       	mov    0x50(%rsp),%r15
1405795b8:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1405795bd:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1405795c1:	e8 ca 7a 8b 00       	call   0x140e31090
1405795c6:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1405795cb:	4c 89 73 40          	mov    %r14,0x40(%rbx)
1405795cf:	48 8b 53 50          	mov    0x50(%rbx),%rdx
1405795d3:	48 8d 4b 50          	lea    0x50(%rbx),%rcx
1405795d7:	48 85 d2             	test   %rdx,%rdx
1405795da:	74 08                	je     0x1405795e4
1405795dc:	4c 89 31             	mov    %r14,(%rcx)
1405795df:	e8 cc f9 ff ff       	call   0x140578fb0
1405795e4:	48 8b 7b 48          	mov    0x48(%rbx),%rdi
1405795e8:	48 85 ff             	test   %rdi,%rdi
1405795eb:	74 55                	je     0x140579642
1405795ed:	48 8b 0f             	mov    (%rdi),%rcx
1405795f0:	48 85 c9             	test   %rcx,%rcx
1405795f3:	74 3c                	je     0x140579631
1405795f5:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1405795f9:	48 2b d1             	sub    %rcx,%rdx
1405795fc:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140579600:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140579607:	72 18                	jb     0x140579621
140579609:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14057960d:	48 83 c2 27          	add    $0x27,%rdx
140579611:	49 2b c8             	sub    %r8,%rcx
140579614:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140579618:	48 83 f8 1f          	cmp    $0x1f,%rax
14057961c:	77 40                	ja     0x14057965e
14057961e:	49 8b c8             	mov    %r8,%rcx
140579621:	e8 1e 1b 8a 00       	call   0x140e1b144
140579626:	4c 89 37             	mov    %r14,(%rdi)
140579629:	4c 89 77 08          	mov    %r14,0x8(%rdi)
14057962d:	4c 89 77 10          	mov    %r14,0x10(%rdi)
140579631:	ba 18 00 00 00       	mov    $0x18,%edx
140579636:	48 8b cf             	mov    %rdi,%rcx
140579639:	e8 06 1b 8a 00       	call   0x140e1b144
14057963e:	4c 89 73 48          	mov    %r14,0x48(%rbx)
140579642:	44 89 33             	mov    %r14d,(%rbx)
140579645:	66 44 89 73 0c       	mov    %r14w,0xc(%rbx)
14057964a:	c7 43 10 ff ff ff ff 	movl   $0xffffffff,0x10(%rbx)
140579651:	4c 89 73 14          	mov    %r14,0x14(%rbx)
140579655:	48 83 c4 20          	add    $0x20,%rsp
140579659:	41 5e                	pop    %r14
14057965b:	5f                   	pop    %rdi
14057965c:	5b                   	pop    %rbx
14057965d:	c3                   	ret
14057965e:	e8 41 0b 8b 00       	call   0x140e2a1a4
140579663:	cc                   	int3
140579664:	cc                   	int3
140579665:	cc                   	int3
140579666:	cc                   	int3
140579667:	cc                   	int3
140579668:	cc                   	int3
140579669:	cc                   	int3
14057966a:	cc                   	int3
14057966b:	cc                   	int3
14057966c:	cc                   	int3
14057966d:	cc                   	int3
14057966e:	cc                   	int3
14057966f:	cc                   	int3
140579670:	40 53                	rex push %rbx
140579672:	48 83 ec 20          	sub    $0x20,%rsp
140579676:	48 83 b9 88 00 00 00 	cmpq   $0x0,0x88(%rcx)
14057967d:	00
14057967e:	48 8b d9             	mov    %rcx,%rbx
140579681:	74 7d                	je     0x140579700
140579683:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140579688:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14057968f:	00
140579690:	48 8b 93 80 00 00 00 	mov    0x80(%rbx),%rdx
140579697:	48 8b 43 78          	mov    0x78(%rbx),%rax
14057969b:	48 8b ca             	mov    %rdx,%rcx
14057969e:	48 ff c8             	dec    %rax
1405796a1:	48 d1 e9             	shr    $1,%rcx
1405796a4:	48 23 c8             	and    %rax,%rcx
1405796a7:	83 e2 01             	and    $0x1,%edx
1405796aa:	48 8b 43 70          	mov    0x70(%rbx),%rax
1405796ae:	48 8b 04 c8          	mov    (%rax,%rcx,8),%rax
1405796b2:	48 8b 3c d0          	mov    (%rax,%rdx,8),%rdi
1405796b6:	48 8b d3             	mov    %rbx,%rdx
1405796b9:	48 8b cf             	mov    %rdi,%rcx
1405796bc:	48 8b 07             	mov    (%rdi),%rax
1405796bf:	48 8b 40 08          	mov    0x8(%rax),%rax
1405796c3:	ff 15 57 a3 a0 00    	call   *0xa0a357(%rip)        # 0x140f83a20
1405796c9:	48 8b 07             	mov    (%rdi),%rax
1405796cc:	ba 01 00 00 00       	mov    $0x1,%edx
1405796d1:	48 8b cf             	mov    %rdi,%rcx
1405796d4:	48 8b 00             	mov    (%rax),%rax
1405796d7:	ff 15 43 a3 a0 00    	call   *0xa0a343(%rip)        # 0x140f83a20
1405796dd:	48 83 ab 88 00 00 00 	subq   $0x1,0x88(%rbx)
1405796e4:	01
1405796e5:	74 09                	je     0x1405796f0
1405796e7:	48 ff 83 80 00 00 00 	incq   0x80(%rbx)
1405796ee:	eb a0                	jmp    0x140579690
1405796f0:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1405796f5:	48 c7 83 80 00 00 00 	movq   $0x0,0x80(%rbx)
1405796fc:	00 00 00 00
140579700:	48 83 c4 20          	add    $0x20,%rsp
140579704:	5b                   	pop    %rbx
140579705:	c3                   	ret
140579706:	cc                   	int3
140579707:	cc                   	int3
140579708:	cc                   	int3
140579709:	cc                   	int3
14057970a:	cc                   	int3
14057970b:	cc                   	int3
14057970c:	cc                   	int3
14057970d:	cc                   	int3
14057970e:	cc                   	int3
14057970f:	cc                   	int3
140579710:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140579715:	53                   	push   %rbx
140579716:	56                   	push   %rsi
140579717:	57                   	push   %rdi
140579718:	48 83 ec 20          	sub    $0x20,%rsp
14057971c:	49 8b f8             	mov    %r8,%rdi
14057971f:	48 8b d9             	mov    %rcx,%rbx
140579722:	49 8b 00             	mov    (%r8),%rax
140579725:	49 c7 00 00 00 00 00 	movq   $0x0,(%r8)
14057972c:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140579731:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140579736:	4c 8b c2             	mov    %rdx,%r8
140579739:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
14057973e:	e8 7d 00 00 00       	call   0x1405797c0
140579743:	90                   	nop
140579744:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140579748:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
14057974d:	e8 4e 0b 00 00       	call   0x14057a2a0
140579752:	48 8b f0             	mov    %rax,%rsi
140579755:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
14057975a:	48 85 db             	test   %rbx,%rbx
14057975d:	74 16                	je     0x140579775
14057975f:	48 8b cb             	mov    %rbx,%rcx
140579762:	e8 29 84 22 00       	call   0x1407a1b90
140579767:	ba 38 00 00 00       	mov    $0x38,%edx
14057976c:	48 8b cb             	mov    %rbx,%rcx
14057976f:	e8 d0 19 8a 00       	call   0x140e1b144
140579774:	90                   	nop
140579775:	48 8b 0f             	mov    (%rdi),%rcx
140579778:	48 85 c9             	test   %rcx,%rcx
14057977b:	74 20                	je     0x14057979d
14057977d:	8b 41 10             	mov    0x10(%rcx),%eax
140579780:	ff c8                	dec    %eax
140579782:	89 41 10             	mov    %eax,0x10(%rcx)
140579785:	85 c0                	test   %eax,%eax
140579787:	7f 14                	jg     0x14057979d
140579789:	78 1d                	js     0x1405797a8
14057978b:	48 8b 01             	mov    (%rcx),%rax
14057978e:	ba 01 00 00 00       	mov    $0x1,%edx
140579793:	48 8b 00             	mov    (%rax),%rax
140579796:	ff 15 84 a2 a0 00    	call   *0xa0a284(%rip)        # 0x140f83a20
14057979c:	90                   	nop
14057979d:	48 8b c6             	mov    %rsi,%rax
1405797a0:	48 83 c4 20          	add    $0x20,%rsp
1405797a4:	5f                   	pop    %rdi
1405797a5:	5e                   	pop    %rsi
1405797a6:	5b                   	pop    %rbx
1405797a7:	c3                   	ret
1405797a8:	b9 02 00 00 00       	mov    $0x2,%ecx
1405797ad:	e8 4e 0f 21 00       	call   0x14078a700
1405797b2:	cc                   	int3
1405797b3:	cc                   	int3
1405797b4:	cc                   	int3
1405797b5:	cc                   	int3
1405797b6:	cc                   	int3
1405797b7:	cc                   	int3
1405797b8:	cc                   	int3
1405797b9:	cc                   	int3
1405797ba:	cc                   	int3
1405797bb:	cc                   	int3
1405797bc:	cc                   	int3
1405797bd:	cc                   	int3
1405797be:	cc                   	int3
1405797bf:	cc                   	int3
1405797c0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1405797c5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1405797ca:	53                   	push   %rbx
1405797cb:	55                   	push   %rbp
1405797cc:	56                   	push   %rsi
1405797cd:	57                   	push   %rdi
1405797ce:	41 56                	push   %r14
1405797d0:	48 83 ec 30          	sub    $0x30,%rsp
1405797d4:	49 8b f1             	mov    %r9,%rsi
1405797d7:	49 8b e8             	mov    %r8,%rbp
1405797da:	48 8b fa             	mov    %rdx,%rdi
1405797dd:	4c 8b f1             	mov    %rcx,%r14
1405797e0:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1405797e7:	00
1405797e8:	b9 40 00 00 00       	mov    $0x40,%ecx
1405797ed:	e8 16 19 8a 00       	call   0x140e1b108
1405797f2:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1405797f7:	48 85 c0             	test   %rax,%rax
1405797fa:	74 12                	je     0x14057980e
1405797fc:	ba 0d 00 00 00       	mov    $0xd,%edx
140579801:	48 8b c8             	mov    %rax,%rcx
140579804:	e8 f7 7e 1b 00       	call   0x140731700
140579809:	48 8b d8             	mov    %rax,%rbx
14057980c:	eb 02                	jmp    0x140579810
14057980e:	33 db                	xor    %ebx,%ebx
140579810:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140579815:	c7 44 24 20 02 00 00 	movl   $0x2,0x20(%rsp)
14057981c:	00
14057981d:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140579821:	48 85 c9             	test   %rcx,%rcx
140579824:	74 1c                	je     0x140579842
140579826:	8b 41 10             	mov    0x10(%rcx),%eax
140579829:	ff c0                	inc    %eax
14057982b:	89 41 10             	mov    %eax,0x10(%rcx)
14057982e:	83 f8 01             	cmp    $0x1,%eax
140579831:	0f 8e c2 00 00 00    	jle    0x1405798f9
140579837:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14057983c:	0f 84 bf 00 00 00    	je     0x140579901
140579842:	48 89 4c 24 70       	mov    %rcx,0x70(%rsp)
140579847:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
14057984c:	48 8b cb             	mov    %rbx,%rcx
14057984f:	e8 6c ac 1b 00       	call   0x1407344c0
140579854:	48 8b 06             	mov    (%rsi),%rax
140579857:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
14057985e:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140579863:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
140579868:	48 8b cb             	mov    %rbx,%rcx
14057986b:	e8 50 ac 1b 00       	call   0x1407344c0
140579870:	41 b1 01             	mov    $0x1,%r9b
140579873:	4c 8b c3             	mov    %rbx,%r8
140579876:	48 8b d7             	mov    %rdi,%rdx
140579879:	49 8b 4e 08          	mov    0x8(%r14),%rcx
14057987d:	e8 de 60 2b 00       	call   0x14082f960
140579882:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
140579889:	00
14057988a:	48 83 3f 00          	cmpq   $0x0,(%rdi)
14057988e:	74 7c                	je     0x14057990c
140579890:	48 85 db             	test   %rbx,%rbx
140579893:	74 23                	je     0x1405798b8
140579895:	8b 43 10             	mov    0x10(%rbx),%eax
140579898:	ff c8                	dec    %eax