140a113bf:	49 8b c6             	mov    %r14,%rax
140a113c2:	48 c1 e8 3f          	shr    $0x3f,%rax
140a113c6:	4c 03 f0             	add    %rax,%r14
140a113c9:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a113cd:	49 2b ca             	sub    %r10,%rcx
140a113d0:	49 8b c3             	mov    %r11,%rax
140a113d3:	48 f7 e9             	imul   %rcx
140a113d6:	48 c1 fa 04          	sar    $0x4,%rdx
140a113da:	48 8b c2             	mov    %rdx,%rax
140a113dd:	48 c1 e8 3f          	shr    $0x3f,%rax
140a113e1:	48 03 d0             	add    %rax,%rdx
140a113e4:	49 b9 66 66 66 66 66 	movabs $0x666666666666666,%r9
140a113eb:	66 66 06
140a113ee:	49 3b d1             	cmp    %r9,%rdx
140a113f1:	0f 84 69 01 00 00    	je     0x140a11560
140a113f7:	4c 8d 6a 01          	lea    0x1(%rdx),%r13
140a113fb:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a113ff:	49 2b ca             	sub    %r10,%rcx
140a11402:	49 8b c3             	mov    %r11,%rax
140a11405:	48 f7 e9             	imul   %rcx
140a11408:	48 c1 fa 04          	sar    $0x4,%rdx
140a1140c:	48 8b c2             	mov    %rdx,%rax
140a1140f:	48 c1 e8 3f          	shr    $0x3f,%rax
140a11413:	48 03 d0             	add    %rax,%rdx
140a11416:	48 8b ca             	mov    %rdx,%rcx
140a11419:	48 d1 e9             	shr    $1,%rcx
140a1141c:	49 8b c1             	mov    %r9,%rax
140a1141f:	48 2b c1             	sub    %rcx,%rax
140a11422:	48 3b d0             	cmp    %rax,%rdx
140a11425:	0f 87 2f 01 00 00    	ja     0x140a1155a
140a1142b:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140a1142f:	49 8b fd             	mov    %r13,%rdi
140a11432:	49 3b c5             	cmp    %r13,%rax
140a11435:	48 0f 43 f8          	cmovae %rax,%rdi
140a11439:	49 3b f9             	cmp    %r9,%rdi
140a1143c:	0f 87 18 01 00 00    	ja     0x140a1155a
140a11442:	48 8d 0c bf          	lea    (%rdi,%rdi,4),%rcx
140a11446:	48 c1 e1 03          	shl    $0x3,%rcx
140a1144a:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140a1144f:	48 85 c9             	test   %rcx,%rcx
140a11452:	75 09                	jne    0x140a1145d
140a11454:	33 db                	xor    %ebx,%ebx
140a11456:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140a1145b:	eb 45                	jmp    0x140a114a2
140a1145d:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a11464:	72 2c                	jb     0x140a11492
140a11466:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a1146a:	48 3b c1             	cmp    %rcx,%rax
140a1146d:	0f 86 e7 00 00 00    	jbe    0x140a1155a
140a11473:	48 8b c8             	mov    %rax,%rcx
140a11476:	e8 8d 9c 40 00       	call   0x140e1b108
140a1147b:	48 85 c0             	test   %rax,%rax
140a1147e:	0f 84 e2 00 00 00    	je     0x140a11566
140a11484:	48 8d 58 27          	lea    0x27(%rax),%rbx
140a11488:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140a1148c:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140a11490:	eb 08                	jmp    0x140a1149a
140a11492:	e8 71 9c 40 00       	call   0x140e1b108
140a11497:	48 8b d8             	mov    %rax,%rbx
140a1149a:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
140a114a1:	00
140a114a2:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140a114a7:	4b 8d 0c b6          	lea    (%r14,%r14,4),%rcx
140a114ab:	4c 8d 34 cb          	lea    (%rbx,%rcx,8),%r14
140a114af:	4d 8d 7e 28          	lea    0x28(%r14),%r15
140a114b3:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140a114b8:	4c 89 bc 24 98 00 00 	mov    %r15,0x98(%rsp)
140a114bf:	00
140a114c0:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140a114c5:	49 c7 06 00 00 00 00 	movq   $0x0,(%r14)
140a114cc:	41 0f b6 00          	movzbl (%r8),%eax
140a114d0:	88 84 24 88 00 00 00 	mov    %al,0x88(%rsp)
140a114d7:	49 8b ce             	mov    %r14,%rcx
140a114da:	e8 e1 50 fe ff       	call   0x1409f65c0
140a114df:	49 c7 06 02 00 00 00 	movq   $0x2,(%r14)
140a114e6:	0f b6 84 24 88 00 00 	movzbl 0x88(%rsp),%eax
140a114ed:	00
140a114ee:	41 88 46 08          	mov    %al,0x8(%r14)
140a114f2:	4c 89 b4 24 98 00 00 	mov    %r14,0x98(%rsp)
140a114f9:	00
140a114fa:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a114fe:	48 8b 0e             	mov    (%rsi),%rcx
140a11501:	4c 8b ce             	mov    %rsi,%r9
140a11504:	4c 8b c3             	mov    %rbx,%r8
140a11507:	4c 3b e2             	cmp    %rdx,%r12
140a1150a:	75 07                	jne    0x140a11513
140a1150c:	e8 2f e6 fb ff       	call   0x1409cfb40
140a11511:	eb 23                	jmp    0x140a11536
140a11513:	49 8b d4             	mov    %r12,%rdx
140a11516:	e8 c5 e8 fb ff       	call   0x1409cfde0
140a1151b:	48 89 9c 24 98 00 00 	mov    %rbx,0x98(%rsp)
140a11522:	00
140a11523:	4c 8b ce             	mov    %rsi,%r9
140a11526:	4d 8b c7             	mov    %r15,%r8
140a11529:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a1152d:	49 8b cc             	mov    %r12,%rcx
140a11530:	e8 ab e8 fb ff       	call   0x1409cfde0
140a11535:	90                   	nop
140a11536:	4c 8b cf             	mov    %rdi,%r9
140a11539:	4d 8b c5             	mov    %r13,%r8
140a1153c:	48 8b d3             	mov    %rbx,%rdx
140a1153f:	48 8b ce             	mov    %rsi,%rcx
140a11542:	e8 99 4a fe ff       	call   0x1409f5fe0
140a11547:	49 8b c6             	mov    %r14,%rax
140a1154a:	48 83 c4 40          	add    $0x40,%rsp
140a1154e:	41 5f                	pop    %r15
140a11550:	41 5e                	pop    %r14
140a11552:	41 5d                	pop    %r13
140a11554:	41 5c                	pop    %r12
140a11556:	5f                   	pop    %rdi
140a11557:	5e                   	pop    %rsi
140a11558:	5b                   	pop    %rbx
140a11559:	c3                   	ret
140a1155a:	e8 31 bc 78 ff       	call   0x14019d190
140a1155f:	cc                   	int3
140a11560:	e8 2b c0 78 ff       	call   0x14019d590
140a11565:	cc                   	int3
140a11566:	e8 39 8c 41 00       	call   0x140e2a1a4
140a1156b:	cc                   	int3
140a1156c:	cc                   	int3
140a1156d:	cc                   	int3
140a1156e:	cc                   	int3
140a1156f:	cc                   	int3
140a11570:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140a11575:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a1157a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140a1157f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a11584:	53                   	push   %rbx
140a11585:	56                   	push   %rsi
140a11586:	57                   	push   %rdi
140a11587:	41 54                	push   %r12
140a11589:	41 55                	push   %r13
140a1158b:	41 56                	push   %r14
140a1158d:	41 57                	push   %r15
140a1158f:	48 83 ec 40          	sub    $0x40,%rsp
140a11593:	49 8b f1             	mov    %r9,%rsi
140a11596:	4d 8b e8             	mov    %r8,%r13
140a11599:	48 8b da             	mov    %rdx,%rbx
140a1159c:	4c 8d 61 08          	lea    0x8(%rcx),%r12
140a115a0:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140a115a5:	4c 8b 31             	mov    (%rcx),%r14
140a115a8:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140a115ad:	4d 8b 3c 24          	mov    (%r12),%r15
140a115b1:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140a115b6:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140a115ba:	48 8b c2             	mov    %rdx,%rax
140a115bd:	49 2b c7             	sub    %r15,%rax
140a115c0:	4d 85 c9             	test   %r9,%r9
140a115c3:	0f 84 48 01 00 00    	je     0x140a11711
140a115c9:	4c 3b c8             	cmp    %rax,%r9
140a115cc:	0f 86 4f 01 00 00    	jbe    0x140a11721
140a115d2:	4d 8b ef             	mov    %r15,%r13
140a115d5:	4d 2b ee             	sub    %r14,%r13
140a115d8:	48 bf ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdi
140a115df:	ff ff 7f
140a115e2:	48 8b c7             	mov    %rdi,%rax
140a115e5:	49 2b c5             	sub    %r13,%rax
140a115e8:	4c 3b c8             	cmp    %rax,%r9
140a115eb:	0f 87 bd 01 00 00    	ja     0x140a117ae
140a115f1:	4f 8d 04 29          	lea    (%r9,%r13,1),%r8
140a115f5:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140a115fa:	49 2b d6             	sub    %r14,%rdx
140a115fd:	48 8b ca             	mov    %rdx,%rcx
140a11600:	48 d1 e9             	shr    $1,%rcx
140a11603:	48 8b c7             	mov    %rdi,%rax
140a11606:	48 2b c1             	sub    %rcx,%rax
140a11609:	48 3b d0             	cmp    %rax,%rdx
140a1160c:	76 36                	jbe    0x140a11644
140a1160e:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140a11615:	00
140a11616:	48 b9 26 00 00 00 00 	movabs $0x8000000000000026,%rcx
140a1161d:	00 00 80
140a11620:	e8 e3 9a 40 00       	call   0x140e1b108
140a11625:	48 85 c0             	test   %rax,%rax
140a11628:	0f 84 8c 01 00 00    	je     0x140a117ba
140a1162e:	4c 8d 70 27          	lea    0x27(%rax),%r14
140a11632:	49 83 e6 e0          	and    $0xffffffffffffffe0,%r14
140a11636:	49 89 46 f8          	mov    %rax,-0x8(%r14)
140a1163a:	4c 89 b4 24 98 00 00 	mov    %r14,0x98(%rsp)
140a11641:	00
140a11642:	eb 5b                	jmp    0x140a1169f
140a11644:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140a11648:	49 8b f8             	mov    %r8,%rdi
140a1164b:	49 3b c0             	cmp    %r8,%rax
140a1164e:	48 0f 43 f8          	cmovae %rax,%rdi
140a11652:	48 85 ff             	test   %rdi,%rdi
140a11655:	75 0d                	jne    0x140a11664
140a11657:	45 33 f6             	xor    %r14d,%r14d
140a1165a:	4c 89 b4 24 98 00 00 	mov    %r14,0x98(%rsp)
140a11661:	00
140a11662:	eb 33                	jmp    0x140a11697
140a11664:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
140a1166b:	72 17                	jb     0x140a11684
140a1166d:	48 8d 4f 27          	lea    0x27(%rdi),%rcx
140a11671:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140a11678:	00
140a11679:	48 3b cf             	cmp    %rdi,%rcx
140a1167c:	0f 86 32 01 00 00    	jbe    0x140a117b4
140a11682:	eb 9c                	jmp    0x140a11620
140a11684:	48 8b cf             	mov    %rdi,%rcx
140a11687:	e8 7c 9a 40 00       	call   0x140e1b108
140a1168c:	4c 8b f0             	mov    %rax,%r14
140a1168f:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140a11696:	00
140a11697:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140a1169e:	00
140a1169f:	4c 8b e3             	mov    %rbx,%r12
140a116a2:	4c 2b 64 24 28       	sub    0x28(%rsp),%r12
140a116a7:	4b 8d 0c 26          	lea    (%r14,%r12,1),%rcx
140a116ab:	4c 8b c6             	mov    %rsi,%r8
140a116ae:	48 8b 94 24 90 00 00 	mov    0x90(%rsp),%rdx
140a116b5:	00
140a116b6:	e8 55 d9 4c 00       	call   0x140edf010
140a116bb:	48 83 fe 01          	cmp    $0x1,%rsi
140a116bf:	75 12                	jne    0x140a116d3
140a116c1:	49 3b df             	cmp    %r15,%rbx
140a116c4:	75 0d                	jne    0x140a116d3
140a116c6:	4d 8b c5             	mov    %r13,%r8
140a116c9:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140a116ce:	49 8b ce             	mov    %r14,%rcx
140a116d1:	eb 20                	jmp    0x140a116f3
140a116d3:	4d 8b c4             	mov    %r12,%r8
140a116d6:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140a116db:	49 8b ce             	mov    %r14,%rcx
140a116de:	e8 2d d9 4c 00       	call   0x140edf010
140a116e3:	4b 8d 0c 26          	lea    (%r14,%r12,1),%rcx
140a116e7:	48 03 ce             	add    %rsi,%rcx
140a116ea:	4c 2b fb             	sub    %rbx,%r15
140a116ed:	4d 8b c7             	mov    %r15,%r8
140a116f0:	48 8b d3             	mov    %rbx,%rdx
140a116f3:	e8 18 d9 4c 00       	call   0x140edf010
140a116f8:	90                   	nop
140a116f9:	4c 8b cf             	mov    %rdi,%r9
140a116fc:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140a11701:	49 8b d6             	mov    %r14,%rdx
140a11704:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140a1170b:	00
140a1170c:	e8 cf f8 b1 ff       	call   0x140530fe0
140a11711:	48 83 c4 40          	add    $0x40,%rsp
140a11715:	41 5f                	pop    %r15
140a11717:	41 5e                	pop    %r14
140a11719:	41 5d                	pop    %r13
140a1171b:	41 5c                	pop    %r12
140a1171d:	5f                   	pop    %rdi
140a1171e:	5e                   	pop    %rsi
140a1171f:	5b                   	pop    %rbx
140a11720:	c3                   	ret
140a11721:	4d 8b f7             	mov    %r15,%r14
140a11724:	4c 2b f3             	sub    %rbx,%r14
140a11727:	49 3b f6             	cmp    %r14,%rsi
140a1172a:	73 41                	jae    0x140a1176d
140a1172c:	49 8b ff             	mov    %r15,%rdi
140a1172f:	48 2b fe             	sub    %rsi,%rdi
140a11732:	4c 8b c6             	mov    %rsi,%r8
140a11735:	48 8b d7             	mov    %rdi,%rdx
140a11738:	49 8b cf             	mov    %r15,%rcx
140a1173b:	e8 d0 d8 4c 00       	call   0x140edf010
140a11740:	49 8d 04 37          	lea    (%r15,%rsi,1),%rax
140a11744:	49 89 04 24          	mov    %rax,(%r12)
140a11748:	48 2b fb             	sub    %rbx,%rdi
140a1174b:	4c 2b ff             	sub    %rdi,%r15
140a1174e:	4c 8b c7             	mov    %rdi,%r8
140a11751:	48 8b d3             	mov    %rbx,%rdx
140a11754:	49 8b cf             	mov    %r15,%rcx
140a11757:	e8 b4 d8 4c 00       	call   0x140edf010
140a1175c:	90                   	nop
140a1175d:	4c 8b c6             	mov    %rsi,%r8
140a11760:	49 8b d5             	mov    %r13,%rdx
140a11763:	48 8b cb             	mov    %rbx,%rcx
140a11766:	e8 a5 d8 4c 00       	call   0x140edf010
140a1176b:	eb 31                	jmp    0x140a1179e
140a1176d:	4a 8d 3c 0b          	lea    (%rbx,%r9,1),%rdi
140a11771:	48 89 bc 24 98 00 00 	mov    %rdi,0x98(%rsp)
140a11778:	00
140a11779:	4d 8b c6             	mov    %r14,%r8
140a1177c:	48 8b d3             	mov    %rbx,%rdx
140a1177f:	48 8b cf             	mov    %rdi,%rcx
140a11782:	e8 89 d8 4c 00       	call   0x140edf010
140a11787:	49 8d 04 3e          	lea    (%r14,%rdi,1),%rax
140a1178b:	49 89 04 24          	mov    %rax,(%r12)
140a1178f:	4c 8b c6             	mov    %rsi,%r8
140a11792:	49 8b d5             	mov    %r13,%rdx
140a11795:	48 8b cb             	mov    %rbx,%rcx
140a11798:	e8 73 d8 4c 00       	call   0x140edf010
140a1179d:	90                   	nop
140a1179e:	48 83 c4 40          	add    $0x40,%rsp
140a117a2:	41 5f                	pop    %r15
140a117a4:	41 5e                	pop    %r14
140a117a6:	41 5d                	pop    %r13
140a117a8:	41 5c                	pop    %r12
140a117aa:	5f                   	pop    %rdi
140a117ab:	5e                   	pop    %rsi
140a117ac:	5b                   	pop    %rbx
140a117ad:	c3                   	ret
140a117ae:	e8 dd bd 78 ff       	call   0x14019d590
140a117b3:	cc                   	int3
140a117b4:	e8 d7 b9 78 ff       	call   0x14019d190
140a117b9:	cc                   	int3
140a117ba:	e8 e5 89 41 00       	call   0x140e2a1a4
140a117bf:	cc                   	int3
140a117c0:	4c 8b c9             	mov    %rcx,%r9
140a117c3:	b8 99 19 00 00       	mov    $0x1999,%eax
140a117c8:	0f b7 09             	movzwl (%rcx),%ecx
140a117cb:	66 3b c8             	cmp    %ax,%cx
140a117ce:	77 36                	ja     0x140a11806
140a117d0:	0f b7 c1             	movzwl %cx,%eax
140a117d3:	0f be d2             	movsbl %dl,%edx
140a117d6:	66 c1 e1 02          	shl    $0x2,%cx
140a117da:	66 83 ea 30          	sub    $0x30,%dx
140a117de:	66 03 c1             	add    %cx,%ax
140a117e1:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140a117e6:	66 03 c0             	add    %ax,%ax
140a117e9:	44 0f b7 c0          	movzwl %ax,%r8d
140a117ed:	0f b7 c2             	movzwl %dx,%eax
140a117f0:	2b c8                	sub    %eax,%ecx
140a117f2:	66 45 89 01          	mov    %r8w,(%r9)
140a117f6:	44 3b c1             	cmp    %ecx,%r8d
140a117f9:	7f 0b                	jg     0x140a11806
140a117fb:	66 44 03 c2          	add    %dx,%r8w
140a117ff:	b0 01                	mov    $0x1,%al
140a11801:	66 45 89 01          	mov    %r8w,(%r9)
140a11805:	c3                   	ret
140a11806:	32 c0                	xor    %al,%al
140a11808:	c3                   	ret
140a11809:	cc                   	int3
140a1180a:	cc                   	int3
140a1180b:	cc                   	int3
140a1180c:	cc                   	int3
140a1180d:	cc                   	int3
140a1180e:	cc                   	int3
140a1180f:	cc                   	int3
140a11810:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a11815:	57                   	push   %rdi
140a11816:	48 83 ec 20          	sub    $0x20,%rsp
140a1181a:	48 8b 4a 58          	mov    0x58(%rdx),%rcx
140a1181e:	48 8d 7a 20          	lea    0x20(%rdx),%rdi
140a11822:	48 8b da             	mov    %rdx,%rbx
140a11825:	48 85 c9             	test   %rcx,%rcx
140a11828:	74 1b                	je     0x140a11845
140a1182a:	48 8b 01             	mov    (%rcx),%rax
140a1182d:	48 3b cf             	cmp    %rdi,%rcx
140a11830:	0f 95 c2             	setne  %dl
140a11833:	48 8b 40 20          	mov    0x20(%rax),%rax
140a11837:	ff 15 e3 21 57 00    	call   *0x5721e3(%rip)        # 0x140f83a20
140a1183d:	48 c7 47 38 00 00 00 	movq   $0x0,0x38(%rdi)
140a11844:	00
140a11845:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140a11849:	48 83 fa 0f          	cmp    $0xf,%rdx
140a1184d:	76 2c                	jbe    0x140a1187b
140a1184f:	48 8b 0b             	mov    (%rbx),%rcx