1406161eb:	48 8b 0e             	mov    (%rsi),%rcx
1406161ee:	48 8b 56 10          	mov    0x10(%rsi),%rdx
1406161f2:	48 2b d1             	sub    %rcx,%rdx
1406161f5:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
1406161f9:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140616200:	72 18                	jb     0x14061621a
140616202:	48 83 c2 27          	add    $0x27,%rdx
140616206:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14061620a:	49 2b c8             	sub    %r8,%rcx
14061620d:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140616211:	48 83 f8 1f          	cmp    $0x1f,%rax
140616215:	77 3f                	ja     0x140616256
140616217:	49 8b c8             	mov    %r8,%rcx
14061621a:	e8 25 4f 80 00       	call   0x140e1b144
14061621f:	4c 89 36             	mov    %r14,(%rsi)
140616222:	49 c1 e5 04          	shl    $0x4,%r13
140616226:	4d 03 ee             	add    %r14,%r13
140616229:	4c 89 6e 08          	mov    %r13,0x8(%rsi)
14061622d:	4b 8d 0c 34          	lea    (%r12,%r14,1),%rcx
140616231:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
140616235:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14061623a:	48 83 c4 60          	add    $0x60,%rsp
14061623e:	41 5f                	pop    %r15
140616240:	41 5e                	pop    %r14
140616242:	41 5d                	pop    %r13
140616244:	41 5c                	pop    %r12
140616246:	5f                   	pop    %rdi
140616247:	5e                   	pop    %rsi
140616248:	5b                   	pop    %rbx
140616249:	c3                   	ret
14061624a:	e8 41 6f b8 ff       	call   0x14019d190
14061624f:	cc                   	int3
140616250:	e8 3b 73 b8 ff       	call   0x14019d590
140616255:	cc                   	int3
140616256:	e8 49 3f 81 00       	call   0x140e2a1a4
14061625b:	cc                   	int3
14061625c:	cc                   	int3
14061625d:	cc                   	int3
14061625e:	cc                   	int3
14061625f:	cc                   	int3
140616260:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140616265:	53                   	push   %rbx
140616266:	56                   	push   %rsi
140616267:	57                   	push   %rdi
140616268:	41 54                	push   %r12
14061626a:	41 55                	push   %r13
14061626c:	41 56                	push   %r14
14061626e:	41 57                	push   %r15
140616270:	48 83 ec 40          	sub    $0x40,%rsp
140616274:	4d 8b f0             	mov    %r8,%r14
140616277:	48 8b fa             	mov    %rdx,%rdi
14061627a:	4c 8b e1             	mov    %rcx,%r12
14061627d:	4c 8b 09             	mov    (%rcx),%r9
140616280:	49 2b d1             	sub    %r9,%rdx
140616283:	49 bb ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r11
14061628a:	aa aa 2a
14061628d:	49 8b c3             	mov    %r11,%rax
140616290:	48 f7 ea             	imul   %rdx
140616293:	48 8b da             	mov    %rdx,%rbx
140616296:	48 c1 fb 04          	sar    $0x4,%rbx
14061629a:	48 8b c3             	mov    %rbx,%rax
14061629d:	48 c1 e8 3f          	shr    $0x3f,%rax
1406162a1:	48 03 d8             	add    %rax,%rbx
1406162a4:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1406162a8:	49 2b c9             	sub    %r9,%rcx
1406162ab:	49 8b c3             	mov    %r11,%rax
1406162ae:	48 f7 e9             	imul   %rcx
1406162b1:	48 c1 fa 04          	sar    $0x4,%rdx
1406162b5:	48 8b c2             	mov    %rdx,%rax
1406162b8:	48 c1 e8 3f          	shr    $0x3f,%rax
1406162bc:	48 03 d0             	add    %rax,%rdx
1406162bf:	49 ba aa aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaa,%r10
1406162c6:	aa aa 02
1406162c9:	49 3b d2             	cmp    %r10,%rdx
1406162cc:	0f 84 1d 02 00 00    	je     0x1406164ef
1406162d2:	4c 8d 42 01          	lea    0x1(%rdx),%r8
1406162d6:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
1406162db:	49 8b 4c 24 10       	mov    0x10(%r12),%rcx
1406162e0:	49 2b c9             	sub    %r9,%rcx
1406162e3:	49 8b c3             	mov    %r11,%rax
1406162e6:	48 f7 e9             	imul   %rcx
1406162e9:	48 c1 fa 04          	sar    $0x4,%rdx
1406162ed:	48 8b c2             	mov    %rdx,%rax
1406162f0:	48 c1 e8 3f          	shr    $0x3f,%rax
1406162f4:	48 03 d0             	add    %rax,%rdx
1406162f7:	48 8b ca             	mov    %rdx,%rcx
1406162fa:	48 d1 e9             	shr    $1,%rcx
1406162fd:	49 8b c2             	mov    %r10,%rax
140616300:	48 2b c1             	sub    %rcx,%rax
140616303:	48 3b d0             	cmp    %rax,%rdx
140616306:	76 15                	jbe    0x14061631d
140616308:	4c 89 94 24 88 00 00 	mov    %r10,0x88(%rsp)
14061630f:	00
140616310:	49 c7 c7 c0 ff ff ff 	mov    $0xffffffffffffffc0,%r15
140616317:	49 8d 4f 27          	lea    0x27(%r15),%rcx
14061631b:	eb 4e                	jmp    0x14061636b
14061631d:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140616321:	49 8b c8             	mov    %r8,%rcx
140616324:	49 3b c0             	cmp    %r8,%rax
140616327:	48 0f 43 c8          	cmovae %rax,%rcx
14061632b:	49 3b ca             	cmp    %r10,%rcx
14061632e:	0f 87 b5 01 00 00    	ja     0x1406164e9
140616334:	4c 8d 3c 49          	lea    (%rcx,%rcx,2),%r15
140616338:	49 c1 e7 05          	shl    $0x5,%r15
14061633c:	48 89 8c 24 88 00 00 	mov    %rcx,0x88(%rsp)
140616343:	00
140616344:	4d 85 ff             	test   %r15,%r15
140616347:	75 0c                	jne    0x140616355
140616349:	33 f6                	xor    %esi,%esi
14061634b:	48 89 8c 24 88 00 00 	mov    %rcx,0x88(%rsp)
140616352:	00
140616353:	eb 3d                	jmp    0x140616392
140616355:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
14061635c:	72 29                	jb     0x140616387
14061635e:	49 8d 4f 27          	lea    0x27(%r15),%rcx
140616362:	49 3b cf             	cmp    %r15,%rcx
140616365:	0f 86 7e 01 00 00    	jbe    0x1406164e9
14061636b:	e8 98 4d 80 00       	call   0x140e1b108
140616370:	48 85 c0             	test   %rax,%rax
140616373:	0f 84 7c 01 00 00    	je     0x1406164f5
140616379:	48 8d 70 27          	lea    0x27(%rax),%rsi
14061637d:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
140616381:	48 89 46 f8          	mov    %rax,-0x8(%rsi)
140616385:	eb 0b                	jmp    0x140616392
140616387:	49 8b cf             	mov    %r15,%rcx
14061638a:	e8 79 4d 80 00       	call   0x140e1b108
14061638f:	48 8b f0             	mov    %rax,%rsi
140616392:	48 89 b4 24 98 00 00 	mov    %rsi,0x98(%rsp)
140616399:	00
14061639a:	4c 8d 2c 5b          	lea    (%rbx,%rbx,2),%r13
14061639e:	49 c1 e5 05          	shl    $0x5,%r13
1406163a2:	4c 03 ee             	add    %rsi,%r13
1406163a5:	49 8d 45 60          	lea    0x60(%r13),%rax
1406163a9:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1406163ae:	49 8b d6             	mov    %r14,%rdx
1406163b1:	49 8b cd             	mov    %r13,%rcx
1406163b4:	e8 67 36 fa ff       	call   0x1405b9a20
1406163b9:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
1406163be:	4d 8b 74 24 08       	mov    0x8(%r12),%r14
1406163c3:	49 8b 1c 24          	mov    (%r12),%rbx
1406163c7:	49 3b fe             	cmp    %r14,%rdi
1406163ca:	75 22                	jne    0x1406163ee
1406163cc:	48 8b fe             	mov    %rsi,%rdi
1406163cf:	49 3b de             	cmp    %r14,%rbx
1406163d2:	74 72                	je     0x140616446
1406163d4:	48 8b d3             	mov    %rbx,%rdx
1406163d7:	48 8b cf             	mov    %rdi,%rcx
1406163da:	e8 41 36 fa ff       	call   0x1405b9a20
1406163df:	48 83 c7 60          	add    $0x60,%rdi
1406163e3:	48 83 c3 60          	add    $0x60,%rbx
1406163e7:	49 3b de             	cmp    %r14,%rbx
1406163ea:	75 e8                	jne    0x1406163d4
1406163ec:	eb 58                	jmp    0x140616446
1406163ee:	4c 8b f6             	mov    %rsi,%r14
1406163f1:	48 3b df             	cmp    %rdi,%rbx
1406163f4:	74 22                	je     0x140616418
1406163f6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1406163fd:	00 00 00
140616400:	48 8b d3             	mov    %rbx,%rdx
140616403:	49 8b ce             	mov    %r14,%rcx
140616406:	e8 15 36 fa ff       	call   0x1405b9a20
14061640b:	49 83 c6 60          	add    $0x60,%r14
14061640f:	48 83 c3 60          	add    $0x60,%rbx
140616413:	48 3b df             	cmp    %rdi,%rbx
140616416:	75 e8                	jne    0x140616400
140616418:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14061641d:	49 8b 5c 24 08       	mov    0x8(%r12),%rbx
140616422:	48 3b fb             	cmp    %rbx,%rdi
140616425:	74 1f                	je     0x140616446
140616427:	4d 8b f5             	mov    %r13,%r14
14061642a:	4c 2b f7             	sub    %rdi,%r14
14061642d:	49 83 c6 60          	add    $0x60,%r14
140616431:	49 8d 0c 3e          	lea    (%r14,%rdi,1),%rcx
140616435:	48 8b d7             	mov    %rdi,%rdx
140616438:	e8 e3 35 fa ff       	call   0x1405b9a20
14061643d:	48 83 c7 60          	add    $0x60,%rdi
140616441:	48 3b fb             	cmp    %rbx,%rdi
140616444:	75 eb                	jne    0x140616431
140616446:	49 8b 0c 24          	mov    (%r12),%rcx
14061644a:	48 85 c9             	test   %rcx,%rcx
14061644d:	74 65                	je     0x1406164b4
14061644f:	4d 8b c4             	mov    %r12,%r8
140616452:	49 8b 54 24 08       	mov    0x8(%r12),%rdx
140616457:	e8 74 28 fa ff       	call   0x1405b8cd0
14061645c:	4d 8b 04 24          	mov    (%r12),%r8
140616460:	49 8b 4c 24 10       	mov    0x10(%r12),%rcx
140616465:	49 2b c8             	sub    %r8,%rcx
140616468:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
14061646f:	aa aa 2a
140616472:	48 f7 e9             	imul   %rcx
140616475:	48 c1 fa 04          	sar    $0x4,%rdx
140616479:	48 8b c2             	mov    %rdx,%rax
14061647c:	48 c1 e8 3f          	shr    $0x3f,%rax
140616480:	48 03 d0             	add    %rax,%rdx
140616483:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140616487:	48 c1 e2 05          	shl    $0x5,%rdx
14061648b:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140616492:	72 18                	jb     0x1406164ac
140616494:	48 83 c2 27          	add    $0x27,%rdx
140616498:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
14061649c:	4c 2b c1             	sub    %rcx,%r8
14061649f:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1406164a3:	48 83 f8 1f          	cmp    $0x1f,%rax
1406164a7:	77 4c                	ja     0x1406164f5
1406164a9:	4c 8b c1             	mov    %rcx,%r8
1406164ac:	49 8b c8             	mov    %r8,%rcx
1406164af:	e8 90 4c 80 00       	call   0x140e1b144
1406164b4:	49 89 34 24          	mov    %rsi,(%r12)
1406164b8:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1406164bd:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1406164c1:	48 c1 e1 05          	shl    $0x5,%rcx
1406164c5:	48 03 ce             	add    %rsi,%rcx
1406164c8:	49 89 4c 24 08       	mov    %rcx,0x8(%r12)
1406164cd:	49 8d 0c 37          	lea    (%r15,%rsi,1),%rcx
1406164d1:	49 89 4c 24 10       	mov    %rcx,0x10(%r12)
1406164d6:	49 8b c5             	mov    %r13,%rax
1406164d9:	48 83 c4 40          	add    $0x40,%rsp
1406164dd:	41 5f                	pop    %r15
1406164df:	41 5e                	pop    %r14
1406164e1:	41 5d                	pop    %r13
1406164e3:	41 5c                	pop    %r12
1406164e5:	5f                   	pop    %rdi
1406164e6:	5e                   	pop    %rsi
1406164e7:	5b                   	pop    %rbx
1406164e8:	c3                   	ret
1406164e9:	e8 a2 6c b8 ff       	call   0x14019d190
1406164ee:	cc                   	int3
1406164ef:	e8 9c 70 b8 ff       	call   0x14019d590
1406164f4:	cc                   	int3
1406164f5:	e8 aa 3c 81 00       	call   0x140e2a1a4
1406164fa:	cc                   	int3
1406164fb:	cc                   	int3
1406164fc:	cc                   	int3
1406164fd:	cc                   	int3
1406164fe:	cc                   	int3
1406164ff:	cc                   	int3
140616500:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140616505:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14061650a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14061650f:	57                   	push   %rdi
140616510:	48 83 ec 40          	sub    $0x40,%rsp
140616514:	49 8b d8             	mov    %r8,%rbx
140616517:	48 8b f2             	mov    %rdx,%rsi
14061651a:	48 8b f9             	mov    %rcx,%rdi
14061651d:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140616522:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140616527:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
14061652c:	48 3b ca             	cmp    %rdx,%rcx
14061652f:	74 55                	je     0x140616586
140616531:	33 ed                	xor    %ebp,%ebp
140616533:	48 89 2b             	mov    %rbp,(%rbx)
140616536:	48 89 6b 08          	mov    %rbp,0x8(%rbx)
14061653a:	b9 30 00 00 00       	mov    $0x30,%ecx
14061653f:	e8 c4 4b 80 00       	call   0x140e1b108
140616544:	48 8b c8             	mov    %rax,%rcx
140616547:	48 89 00             	mov    %rax,(%rax)
14061654a:	48 89 40 08          	mov    %rax,0x8(%rax)
14061654e:	48 89 40 10          	mov    %rax,0x10(%rax)
140616552:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
140616558:	48 89 03             	mov    %rax,(%rbx)
14061655b:	48 8b 07             	mov    (%rdi),%rax
14061655e:	48 89 03             	mov    %rax,(%rbx)
140616561:	48 89 0f             	mov    %rcx,(%rdi)
140616564:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140616568:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14061656c:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140616570:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140616574:	48 83 c3 10          	add    $0x10,%rbx
140616578:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14061657d:	48 83 c7 10          	add    $0x10,%rdi
140616581:	48 3b fe             	cmp    %rsi,%rdi
140616584:	75 ad                	jne    0x140616533
140616586:	48 8b c3             	mov    %rbx,%rax
140616589:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14061658e:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140616593:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140616598:	48 83 c4 40          	add    $0x40,%rsp
14061659c:	5f                   	pop    %rdi
14061659d:	c3                   	ret
14061659e:	cc                   	int3
14061659f:	cc                   	int3
1406165a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406165a5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406165aa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406165af:	57                   	push   %rdi
1406165b0:	48 83 ec 40          	sub    $0x40,%rsp
1406165b4:	49 8b d8             	mov    %r8,%rbx
1406165b7:	48 8b f2             	mov    %rdx,%rsi
1406165ba:	48 8b f9             	mov    %rcx,%rdi
1406165bd:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406165c2:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1406165c7:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
1406165cc:	48 3b ca             	cmp    %rdx,%rcx
1406165cf:	74 55                	je     0x140616626
1406165d1:	33 ed                	xor    %ebp,%ebp
1406165d3:	48 89 2b             	mov    %rbp,(%rbx)
1406165d6:	48 89 6b 08          	mov    %rbp,0x8(%rbx)
1406165da:	b9 48 00 00 00       	mov    $0x48,%ecx
1406165df:	e8 24 4b 80 00       	call   0x140e1b108
1406165e4:	48 8b c8             	mov    %rax,%rcx
1406165e7:	48 89 00             	mov    %rax,(%rax)
1406165ea:	48 89 40 08          	mov    %rax,0x8(%rax)
1406165ee:	48 89 40 10          	mov    %rax,0x10(%rax)
1406165f2:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
1406165f8:	48 89 03             	mov    %rax,(%rbx)
1406165fb:	48 8b 07             	mov    (%rdi),%rax
1406165fe:	48 89 03             	mov    %rax,(%rbx)
140616601:	48 89 0f             	mov    %rcx,(%rdi)
140616604:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140616608:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14061660c:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140616610:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140616614:	48 83 c3 10          	add    $0x10,%rbx
140616618:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14061661d:	48 83 c7 10          	add    $0x10,%rdi
140616621:	48 3b fe             	cmp    %rsi,%rdi
140616624:	75 ad                	jne    0x1406165d3
140616626:	48 8b c3             	mov    %rbx,%rax
140616629:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14061662e:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140616633:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140616638:	48 83 c4 40          	add    $0x40,%rsp
14061663c:	5f                   	pop    %rdi
14061663d:	c3                   	ret
14061663e:	cc                   	int3
14061663f:	cc                   	int3
140616640:	44 0f b6 02          	movzbl (%rdx),%r8d
140616644:	4c 8b c9             	mov    %rcx,%r9
140616647:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14061664e:	01 00 00
140616651:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140616658:	9c f2 cb
14061665b:	4c 33 c0             	xor    %rax,%r8
14061665e:	4c 8b d2             	mov    %rdx,%r10
140616661:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140616665:	4c 0f af c1          	imul   %rcx,%r8
140616669:	4c 33 c0             	xor    %rax,%r8
14061666c:	0f b6 42 02          	movzbl 0x2(%rdx),%eax
140616670:	4c 0f af c1          	imul   %rcx,%r8
140616674:	4c 33 c0             	xor    %rax,%r8
140616677:	0f b6 42 03          	movzbl 0x3(%rdx),%eax
14061667b:	4c 0f af c1          	imul   %rcx,%r8
14061667f:	4c 33 c0             	xor    %rax,%r8
140616682:	0f b6 42 04          	movzbl 0x4(%rdx),%eax
140616686:	4c 0f af c1          	imul   %rcx,%r8
14061668a:	4c 33 c0             	xor    %rax,%r8
14061668d:	0f b6 42 05          	movzbl 0x5(%rdx),%eax
140616691:	4c 0f af c1          	imul   %rcx,%r8
140616695:	4c 33 c0             	xor    %rax,%r8
140616698:	0f b6 42 06          	movzbl 0x6(%rdx),%eax