1407e838c:	48 c1 e8 3f          	shr    $0x3f,%rax
1407e8390:	48 03 d0             	add    %rax,%rdx
1407e8393:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1407e8397:	48 c1 e2 04          	shl    $0x4,%rdx
1407e839b:	48 8b c3             	mov    %rbx,%rax
1407e839e:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1407e83a5:	0f 82 80 01 00 00    	jb     0x1407e852b
1407e83ab:	48 83 c2 27          	add    $0x27,%rdx
1407e83af:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1407e83b3:	48 2b c3             	sub    %rbx,%rax
1407e83b6:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407e83ba:	48 83 f8 1f          	cmp    $0x1f,%rax
1407e83be:	0f 87 9f 01 00 00    	ja     0x1407e8563
1407e83c4:	e9 62 01 00 00       	jmp    0x1407e852b
1407e83c9:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1407e83ce:	48 8b d1             	mov    %rcx,%rdx
1407e83d1:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1407e83d6:	e8 05 e0 ed ff       	call   0x1406c63e0
1407e83db:	4c 8b 44 24 40       	mov    0x40(%rsp),%r8
1407e83e0:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1407e83e5:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
1407e83ea:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
1407e83ef:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1407e83f4:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
1407e83f9:	41 c6 06 01          	movb   $0x1,(%r14)
1407e83fd:	49 8d 4e 08          	lea    0x8(%r14),%rcx
1407e8401:	48 89 45 30          	mov    %rax,0x30(%rbp)
1407e8405:	4c 89 45 38          	mov    %r8,0x38(%rbp)
1407e8409:	48 89 55 40          	mov    %rdx,0x40(%rbp)
1407e840d:	48 8d 55 30          	lea    0x30(%rbp),%rdx
1407e8411:	e8 ea 6d d5 ff       	call   0x14053f200
1407e8416:	90                   	nop
1407e8417:	48 be ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rsi
1407e841e:	aa aa 2a
1407e8421:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
1407e8426:	48 85 db             	test   %rbx,%rbx
1407e8429:	0f 84 8a 00 00 00    	je     0x1407e84b9
1407e842f:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
1407e8434:	48 3b df             	cmp    %rdi,%rbx
1407e8437:	74 1d                	je     0x1407e8456
1407e8439:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1407e8440:	48 8b cb             	mov    %rbx,%rcx
1407e8443:	e8 58 98 bd ff       	call   0x1403c1ca0
1407e8448:	48 83 c3 30          	add    $0x30,%rbx
1407e844c:	48 3b df             	cmp    %rdi,%rbx
1407e844f:	75 ef                	jne    0x1407e8440
1407e8451:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
1407e8456:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1407e845b:	48 2b cb             	sub    %rbx,%rcx
1407e845e:	48 8b c6             	mov    %rsi,%rax
1407e8461:	48 f7 e9             	imul   %rcx
1407e8464:	48 c1 fa 03          	sar    $0x3,%rdx
1407e8468:	48 8b c2             	mov    %rdx,%rax
1407e846b:	48 c1 e8 3f          	shr    $0x3f,%rax
1407e846f:	48 03 d0             	add    %rax,%rdx
1407e8472:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1407e8476:	48 c1 e2 04          	shl    $0x4,%rdx
1407e847a:	48 8b c3             	mov    %rbx,%rax
1407e847d:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1407e8484:	72 19                	jb     0x1407e849f
1407e8486:	48 83 c2 27          	add    $0x27,%rdx
1407e848a:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1407e848e:	48 2b c3             	sub    %rbx,%rax
1407e8491:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407e8495:	48 83 f8 1f          	cmp    $0x1f,%rax
1407e8499:	0f 87 d0 00 00 00    	ja     0x1407e856f
1407e849f:	48 8b cb             	mov    %rbx,%rcx
1407e84a2:	e8 9d 2c 63 00       	call   0x140e1b144
1407e84a7:	0f 57 c0             	xorps  %xmm0,%xmm0
1407e84aa:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
1407e84b0:	48 c7 44 24 30 00 00 	movq   $0x0,0x30(%rsp)
1407e84b7:	00 00
1407e84b9:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1407e84be:	48 85 db             	test   %rbx,%rbx
1407e84c1:	74 70                	je     0x1407e8533
1407e84c3:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1407e84c8:	48 3b df             	cmp    %rdi,%rbx
1407e84cb:	74 19                	je     0x1407e84e6
1407e84cd:	0f 1f 00             	nopl   (%rax)
1407e84d0:	48 8b cb             	mov    %rbx,%rcx
1407e84d3:	e8 c8 97 bd ff       	call   0x1403c1ca0
1407e84d8:	48 83 c3 30          	add    $0x30,%rbx
1407e84dc:	48 3b df             	cmp    %rdi,%rbx
1407e84df:	75 ef                	jne    0x1407e84d0
1407e84e1:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1407e84e6:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
1407e84eb:	48 2b cb             	sub    %rbx,%rcx
1407e84ee:	48 8b c6             	mov    %rsi,%rax
1407e84f1:	48 f7 e9             	imul   %rcx
1407e84f4:	48 c1 fa 03          	sar    $0x3,%rdx
1407e84f8:	48 8b c2             	mov    %rdx,%rax
1407e84fb:	48 c1 e8 3f          	shr    $0x3f,%rax
1407e84ff:	48 03 d0             	add    %rax,%rdx
1407e8502:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1407e8506:	48 c1 e2 04          	shl    $0x4,%rdx
1407e850a:	48 8b c3             	mov    %rbx,%rax
1407e850d:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1407e8514:	72 15                	jb     0x1407e852b
1407e8516:	48 83 c2 27          	add    $0x27,%rdx
1407e851a:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1407e851e:	48 2b c3             	sub    %rbx,%rax
1407e8521:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407e8525:	48 83 f8 1f          	cmp    $0x1f,%rax
1407e8529:	77 32                	ja     0x1407e855d
1407e852b:	48 8b cb             	mov    %rbx,%rcx
1407e852e:	e8 11 2c 63 00       	call   0x140e1b144
1407e8533:	49 8b c6             	mov    %r14,%rax
1407e8536:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
1407e853a:	48 33 cc             	xor    %rsp,%rcx
1407e853d:	e8 be 2f 63 00       	call   0x140e1b500
1407e8542:	48 8b 9c 24 b0 01 00 	mov    0x1b0(%rsp),%rbx
1407e8549:	00
1407e854a:	48 81 c4 60 01 00 00 	add    $0x160,%rsp
1407e8551:	41 5f                	pop    %r15
1407e8553:	41 5e                	pop    %r14
1407e8555:	41 5d                	pop    %r13
1407e8557:	41 5c                	pop    %r12
1407e8559:	5f                   	pop    %rdi
1407e855a:	5e                   	pop    %rsi
1407e855b:	5d                   	pop    %rbp
1407e855c:	c3                   	ret
1407e855d:	e8 42 1c 64 00       	call   0x140e2a1a4
1407e8562:	cc                   	int3
1407e8563:	e8 3c 1c 64 00       	call   0x140e2a1a4
1407e8568:	90                   	nop
1407e8569:	e8 36 1c 64 00       	call   0x140e2a1a4
1407e856e:	90                   	nop
1407e856f:	e8 30 1c 64 00       	call   0x140e2a1a4
1407e8574:	cc                   	int3
1407e8575:	cc                   	int3
1407e8576:	cc                   	int3
1407e8577:	cc                   	int3
1407e8578:	cc                   	int3
1407e8579:	cc                   	int3
1407e857a:	cc                   	int3
1407e857b:	cc                   	int3
1407e857c:	cc                   	int3
1407e857d:	cc                   	int3
1407e857e:	cc                   	int3
1407e857f:	cc                   	int3
1407e8580:	48 83 ec 28          	sub    $0x28,%rsp
1407e8584:	03 51 28             	add    0x28(%rcx),%edx
1407e8587:	48 63 d2             	movslq %edx,%rdx
1407e858a:	48 8b 41 20          	mov    0x20(%rcx),%rax
1407e858e:	48 8d 0c d0          	lea    (%rax,%rdx,8),%rcx
1407e8592:	4c 8b 09             	mov    (%rcx),%r9
1407e8595:	49 8b 00             	mov    (%r8),%rax
1407e8598:	48 89 01             	mov    %rax,(%rcx)
1407e859b:	4d 89 08             	mov    %r9,(%r8)
1407e859e:	4d 85 c9             	test   %r9,%r9
1407e85a1:	74 25                	je     0x1407e85c8
1407e85a3:	41 8b 41 10          	mov    0x10(%r9),%eax
1407e85a7:	ff c8                	dec    %eax
1407e85a9:	41 89 41 10          	mov    %eax,0x10(%r9)
1407e85ad:	85 c0                	test   %eax,%eax
1407e85af:	7f 17                	jg     0x1407e85c8
1407e85b1:	78 1a                	js     0x1407e85cd
1407e85b3:	49 8b 01             	mov    (%r9),%rax
1407e85b6:	ba 01 00 00 00       	mov    $0x1,%edx
1407e85bb:	49 8b c9             	mov    %r9,%rcx
1407e85be:	48 8b 00             	mov    (%rax),%rax
1407e85c1:	ff 15 59 b4 79 00    	call   *0x79b459(%rip)        # 0x140f83a20
1407e85c7:	90                   	nop
1407e85c8:	48 83 c4 28          	add    $0x28,%rsp
1407e85cc:	c3                   	ret
1407e85cd:	b9 02 00 00 00       	mov    $0x2,%ecx
1407e85d2:	e8 29 21 fa ff       	call   0x14078a700
1407e85d7:	cc                   	int3
1407e85d8:	cc                   	int3
1407e85d9:	cc                   	int3
1407e85da:	cc                   	int3
1407e85db:	cc                   	int3
1407e85dc:	cc                   	int3
1407e85dd:	cc                   	int3
1407e85de:	cc                   	int3
1407e85df:	cc                   	int3
1407e85e0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1407e85e5:	55                   	push   %rbp
1407e85e6:	56                   	push   %rsi
1407e85e7:	57                   	push   %rdi
1407e85e8:	48 83 ec 60          	sub    $0x60,%rsp
1407e85ec:	48 8b 05 0d 09 bd 00 	mov    0xbd090d(%rip),%rax        # 0x1413b8f00
1407e85f3:	48 33 c4             	xor    %rsp,%rax
1407e85f6:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1407e85fb:	49 8b d8             	mov    %r8,%rbx
1407e85fe:	48 8b f2             	mov    %rdx,%rsi
1407e8601:	48 8b f9             	mov    %rcx,%rdi
1407e8604:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1407e8609:	48 83 79 30 00       	cmpq   $0x0,0x30(%rcx)
1407e860e:	0f 84 d3 00 00 00    	je     0x1407e86e7
1407e8614:	48 8b 69 38          	mov    0x38(%rcx),%rbp
1407e8618:	48 8b 52 28          	mov    0x28(%rdx),%rdx
1407e861c:	0f 57 c0             	xorps  %xmm0,%xmm0
1407e861f:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
1407e8624:	0f 57 c9             	xorps  %xmm1,%xmm1
1407e8627:	f3 0f 7f 4c 24 40    	movdqu %xmm1,0x40(%rsp)
1407e862d:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
1407e8634:	49 ff c0             	inc    %r8
1407e8637:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
1407e863c:	75 f6                	jne    0x1407e8634
1407e863e:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1407e8643:	e8 b8 e7 9a ff       	call   0x140196e00
1407e8648:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1407e864d:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1407e8652:	48 8b cd             	mov    %rbp,%rcx
1407e8655:	e8 b6 df a2 ff       	call   0x140216610
1407e865a:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1407e865f:	48 83 fa 0f          	cmp    $0xf,%rdx
1407e8663:	76 32                	jbe    0x1407e8697
1407e8665:	48 ff c2             	inc    %rdx
1407e8668:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1407e866d:	48 8b c1             	mov    %rcx,%rax
1407e8670:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1407e8677:	72 19                	jb     0x1407e8692
1407e8679:	48 83 c2 27          	add    $0x27,%rdx
1407e867d:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1407e8681:	48 2b c1             	sub    %rcx,%rax
1407e8684:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407e8688:	48 83 f8 1f          	cmp    $0x1f,%rax
1407e868c:	0f 87 f9 00 00 00    	ja     0x1407e878b
1407e8692:	e8 ad 2a 63 00       	call   0x140e1b144
1407e8697:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
1407e869b:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
1407e86a0:	48 3b 41 08          	cmp    0x8(%rcx),%rax
1407e86a4:	74 41                	je     0x1407e86e7
1407e86a6:	48 8b 4f 30          	mov    0x30(%rdi),%rcx
1407e86aa:	48 8b 13             	mov    (%rbx),%rdx
1407e86ad:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
1407e86b4:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1407e86b9:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1407e86be:	8b 50 30             	mov    0x30(%rax),%edx
1407e86c1:	e8 ba fe ff ff       	call   0x1407e8580
1407e86c6:	90                   	nop
1407e86c7:	48 8b 0b             	mov    (%rbx),%rcx
1407e86ca:	48 85 c9             	test   %rcx,%rcx
1407e86cd:	0f 84 85 00 00 00    	je     0x1407e8758
1407e86d3:	8b 41 10             	mov    0x10(%rcx),%eax
1407e86d6:	ff c8                	dec    %eax
1407e86d8:	89 41 10             	mov    %eax,0x10(%rcx)
1407e86db:	85 c0                	test   %eax,%eax
1407e86dd:	7f 79                	jg     0x1407e8758
1407e86df:	0f 88 9b 00 00 00    	js     0x1407e8780
1407e86e5:	eb 5f                	jmp    0x1407e8746
1407e86e7:	48 8b 13             	mov    (%rbx),%rdx
1407e86ea:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
1407e86f1:	8b 46 48             	mov    0x48(%rsi),%eax
1407e86f4:	03 47 28             	add    0x28(%rdi),%eax
1407e86f7:	48 63 c8             	movslq %eax,%rcx
1407e86fa:	48 8b 47 20          	mov    0x20(%rdi),%rax
1407e86fe:	4c 8b 04 c8          	mov    (%rax,%rcx,8),%r8
1407e8702:	48 89 14 c8          	mov    %rdx,(%rax,%rcx,8)
1407e8706:	4d 85 c0             	test   %r8,%r8
1407e8709:	74 25                	je     0x1407e8730
1407e870b:	41 8b 40 10          	mov    0x10(%r8),%eax
1407e870f:	ff c8                	dec    %eax
1407e8711:	41 89 40 10          	mov    %eax,0x10(%r8)
1407e8715:	85 c0                	test   %eax,%eax
1407e8717:	7f 17                	jg     0x1407e8730
1407e8719:	78 76                	js     0x1407e8791
1407e871b:	49 8b 00             	mov    (%r8),%rax
1407e871e:	ba 01 00 00 00       	mov    $0x1,%edx
1407e8723:	49 8b c8             	mov    %r8,%rcx
1407e8726:	48 8b 00             	mov    (%rax),%rax
1407e8729:	ff 15 f1 b2 79 00    	call   *0x79b2f1(%rip)        # 0x140f83a20
1407e872f:	90                   	nop
1407e8730:	48 8b 0b             	mov    (%rbx),%rcx
1407e8733:	48 85 c9             	test   %rcx,%rcx
1407e8736:	74 20                	je     0x1407e8758
1407e8738:	8b 41 10             	mov    0x10(%rcx),%eax
1407e873b:	ff c8                	dec    %eax
1407e873d:	89 41 10             	mov    %eax,0x10(%rcx)
1407e8740:	85 c0                	test   %eax,%eax
1407e8742:	7f 14                	jg     0x1407e8758
1407e8744:	78 2f                	js     0x1407e8775
1407e8746:	48 8b 01             	mov    (%rcx),%rax
1407e8749:	ba 01 00 00 00       	mov    $0x1,%edx
1407e874e:	48 8b 00             	mov    (%rax),%rax
1407e8751:	ff 15 c9 b2 79 00    	call   *0x79b2c9(%rip)        # 0x140f83a20
1407e8757:	90                   	nop
1407e8758:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1407e875d:	48 33 cc             	xor    %rsp,%rcx
1407e8760:	e8 9b 2d 63 00       	call   0x140e1b500
1407e8765:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
1407e876c:	00
1407e876d:	48 83 c4 60          	add    $0x60,%rsp
1407e8771:	5f                   	pop    %rdi
1407e8772:	5e                   	pop    %rsi
1407e8773:	5d                   	pop    %rbp
1407e8774:	c3                   	ret
1407e8775:	b9 02 00 00 00       	mov    $0x2,%ecx
1407e877a:	e8 81 1f fa ff       	call   0x14078a700
1407e877f:	90                   	nop
1407e8780:	b9 02 00 00 00       	mov    $0x2,%ecx
1407e8785:	e8 76 1f fa ff       	call   0x14078a700
1407e878a:	90                   	nop
1407e878b:	e8 14 1a 64 00       	call   0x140e2a1a4
1407e8790:	90                   	nop
1407e8791:	b9 02 00 00 00       	mov    $0x2,%ecx
1407e8796:	e8 65 1f fa ff       	call   0x14078a700
1407e879b:	cc                   	int3
1407e879c:	cc                   	int3
1407e879d:	cc                   	int3
1407e879e:	cc                   	int3
1407e879f:	cc                   	int3
1407e87a0:	48 83 ec 28          	sub    $0x28,%rsp
1407e87a4:	4c 8b 41 58          	mov    0x58(%rcx),%r8
1407e87a8:	48 8b 02             	mov    (%rdx),%rax
1407e87ab:	48 89 41 58          	mov    %rax,0x58(%rcx)
1407e87af:	4c 89 02             	mov    %r8,(%rdx)
1407e87b2:	4d 85 c0             	test   %r8,%r8
1407e87b5:	74 25                	je     0x1407e87dc
1407e87b7:	41 8b 40 10          	mov    0x10(%r8),%eax
1407e87bb:	ff c8                	dec    %eax
1407e87bd:	41 89 40 10          	mov    %eax,0x10(%r8)
1407e87c1:	85 c0                	test   %eax,%eax
1407e87c3:	7f 17                	jg     0x1407e87dc
1407e87c5:	78 1a                	js     0x1407e87e1
1407e87c7:	49 8b 00             	mov    (%r8),%rax
1407e87ca:	ba 01 00 00 00       	mov    $0x1,%edx
1407e87cf:	49 8b c8             	mov    %r8,%rcx
1407e87d2:	48 8b 00             	mov    (%rax),%rax
1407e87d5:	ff 15 45 b2 79 00    	call   *0x79b245(%rip)        # 0x140f83a20
1407e87db:	90                   	nop
1407e87dc:	48 83 c4 28          	add    $0x28,%rsp
1407e87e0:	c3                   	ret
1407e87e1:	b9 02 00 00 00       	mov    $0x2,%ecx
1407e87e6:	e8 15 1f fa ff       	call   0x14078a700
1407e87eb:	cc                   	int3
1407e87ec:	cc                   	int3
1407e87ed:	cc                   	int3
1407e87ee:	cc                   	int3
1407e87ef:	cc                   	int3
1407e87f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1407e87f5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407e87fa:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1407e87ff:	55                   	push   %rbp
1407e8800:	41 54                	push   %r12
1407e8802:	41 55                	push   %r13
1407e8804:	41 56                	push   %r14
1407e8806:	41 57                	push   %r15
1407e8808:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
1407e880d:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
1407e8814:	48 8b 05 e5 06 bd 00 	mov    0xbd06e5(%rip),%rax        # 0x1413b8f00
1407e881b:	48 33 c4             	xor    %rsp,%rax
1407e881e:	48 89 45 27          	mov    %rax,0x27(%rbp)
1407e8822:	48 8b f1             	mov    %rcx,%rsi
1407e8825:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1407e882a:	45 33 c0             	xor    %r8d,%r8d
1407e882d:	48 8b 1a             	mov    (%rdx),%rbx
1407e8830:	48 8b 4a 08          	mov    0x8(%rdx),%rcx