1406640f5:	4c 3b c1             	cmp    %rcx,%r8
1406640f8:	0f 86 3d 01 00 00    	jbe    0x14066423b
1406640fe:	49 bc ff ff ff ff ff 	movabs $0xfffffffffffffff,%r12
140664105:	ff ff 0f
140664108:	4d 3b c4             	cmp    %r12,%r8
14066410b:	0f 87 6a 02 00 00    	ja     0x14066437b
140664111:	48 8b d1             	mov    %rcx,%rdx
140664114:	48 d1 ea             	shr    $1,%rdx
140664117:	49 8b c4             	mov    %r12,%rax
14066411a:	48 2b c2             	sub    %rdx,%rax
14066411d:	48 3b c8             	cmp    %rax,%rcx
140664120:	76 05                	jbe    0x140664127
140664122:	49 8b ec             	mov    %r12,%rbp
140664125:	eb 0b                	jmp    0x140664132
140664127:	48 8d 2c 0a          	lea    (%rdx,%rcx,1),%rbp
14066412b:	48 3b ee             	cmp    %rsi,%rbp
14066412e:	48 0f 42 ee          	cmovb  %rsi,%rbp
140664132:	45 33 f6             	xor    %r14d,%r14d
140664135:	48 85 ff             	test   %rdi,%rdi
140664138:	74 52                	je     0x14066418c
14066413a:	4d 8b c7             	mov    %r15,%r8
14066413d:	49 8b 57 08          	mov    0x8(%r15),%rdx
140664141:	48 8b cf             	mov    %rdi,%rcx
140664144:	e8 27 4b f5 ff       	call   0x1405b8c70
140664149:	49 8b 0f             	mov    (%r15),%rcx
14066414c:	49 8b 57 10          	mov    0x10(%r15),%rdx
140664150:	48 2b d1             	sub    %rcx,%rdx
140664153:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
140664157:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14066415e:	72 1c                	jb     0x14066417c
140664160:	48 83 c2 27          	add    $0x27,%rdx
140664164:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140664168:	49 2b c8             	sub    %r8,%rcx
14066416b:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14066416f:	48 83 f8 1f          	cmp    $0x1f,%rax
140664173:	0f 87 08 02 00 00    	ja     0x140664381
140664179:	49 8b c8             	mov    %r8,%rcx
14066417c:	e8 c3 6f 7b 00       	call   0x140e1b144
140664181:	4d 89 37             	mov    %r14,(%r15)
140664184:	4d 89 77 08          	mov    %r14,0x8(%r15)
140664188:	4d 89 77 10          	mov    %r14,0x10(%r15)
14066418c:	49 3b ec             	cmp    %r12,%rbp
14066418f:	0f 87 05 02 00 00    	ja     0x14066439a
140664195:	48 c1 e5 04          	shl    $0x4,%rbp
140664199:	48 85 ed             	test   %rbp,%rbp
14066419c:	74 3d                	je     0x1406641db
14066419e:	48 81 fd 00 10 00 00 	cmp    $0x1000,%rbp
1406641a5:	72 29                	jb     0x1406641d0
1406641a7:	48 8d 4d 27          	lea    0x27(%rbp),%rcx
1406641ab:	48 3b cd             	cmp    %rbp,%rcx
1406641ae:	0f 86 e6 01 00 00    	jbe    0x14066439a
1406641b4:	e8 4f 6f 7b 00       	call   0x140e1b108
1406641b9:	48 85 c0             	test   %rax,%rax
1406641bc:	0f 84 bf 01 00 00    	je     0x140664381
1406641c2:	4c 8d 70 27          	lea    0x27(%rax),%r14
1406641c6:	49 83 e6 e0          	and    $0xffffffffffffffe0,%r14
1406641ca:	49 89 46 f8          	mov    %rax,-0x8(%r14)
1406641ce:	eb 0b                	jmp    0x1406641db
1406641d0:	48 8b cd             	mov    %rbp,%rcx
1406641d3:	e8 30 6f 7b 00       	call   0x140e1b108
1406641d8:	4c 8b f0             	mov    %rax,%r14
1406641db:	4d 89 37             	mov    %r14,(%r15)
1406641de:	4d 89 77 08          	mov    %r14,0x8(%r15)
1406641e2:	49 8d 0c 2e          	lea    (%r14,%rbp,1),%rcx
1406641e6:	49 89 4f 10          	mov    %rcx,0x10(%r15)
1406641ea:	48 85 f6             	test   %rsi,%rsi
1406641ed:	74 43                	je     0x140664232
1406641ef:	49 8b d6             	mov    %r14,%rdx
1406641f2:	48 2b d3             	sub    %rbx,%rdx
1406641f5:	48 8b 0b             	mov    (%rbx),%rcx
1406641f8:	49 89 0e             	mov    %rcx,(%r14)
1406641fb:	48 85 c9             	test   %rcx,%rcx
1406641fe:	74 1c                	je     0x14066421c
140664200:	8b 41 10             	mov    0x10(%rcx),%eax
140664203:	ff c0                	inc    %eax
140664205:	89 41 10             	mov    %eax,0x10(%rcx)
140664208:	83 f8 01             	cmp    $0x1,%eax
14066420b:	0f 8e 81 01 00 00    	jle    0x140664392
140664211:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140664216:	0f 84 6b 01 00 00    	je     0x140664387
14066421c:	0f b6 43 08          	movzbl 0x8(%rbx),%eax
140664220:	88 44 1a 08          	mov    %al,0x8(%rdx,%rbx,1)
140664224:	49 83 c6 10          	add    $0x10,%r14
140664228:	48 83 c3 10          	add    $0x10,%rbx
14066422c:	48 83 ee 01          	sub    $0x1,%rsi
140664230:	75 c3                	jne    0x1406641f5
140664232:	4d 89 77 08          	mov    %r14,0x8(%r15)
140664236:	e9 0e 01 00 00       	jmp    0x140664349
14066423b:	49 8b 4f 08          	mov    0x8(%r15),%rcx
14066423f:	48 8b e9             	mov    %rcx,%rbp
140664242:	48 2b ef             	sub    %rdi,%rbp
140664245:	48 c1 fd 04          	sar    $0x4,%rbp
140664249:	48 3b f5             	cmp    %rbp,%rsi
14066424c:	76 79                	jbe    0x1406642c7
14066424e:	48 3b f9             	cmp    %rcx,%rdi
140664251:	74 1c                	je     0x14066426f
140664253:	48 8b d3             	mov    %rbx,%rdx
140664256:	48 8b cf             	mov    %rdi,%rcx
140664259:	e8 72 0c 00 00       	call   0x140664ed0
14066425e:	48 83 c7 10          	add    $0x10,%rdi
140664262:	48 83 c3 10          	add    $0x10,%rbx
140664266:	49 8b 4f 08          	mov    0x8(%r15),%rcx
14066426a:	48 3b f9             	cmp    %rcx,%rdi
14066426d:	75 e4                	jne    0x140664253
14066426f:	48 2b f5             	sub    %rbp,%rsi
140664272:	74 4a                	je     0x1406642be
140664274:	4c 8b c1             	mov    %rcx,%r8
140664277:	4c 2b c3             	sub    %rbx,%r8
14066427a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140664280:	48 8b 13             	mov    (%rbx),%rdx
140664283:	48 89 11             	mov    %rdx,(%rcx)
140664286:	48 85 d2             	test   %rdx,%rdx
140664289:	74 1c                	je     0x1406642a7
14066428b:	8b 42 10             	mov    0x10(%rdx),%eax
14066428e:	ff c0                	inc    %eax
140664290:	89 42 10             	mov    %eax,0x10(%rdx)
140664293:	83 f8 01             	cmp    $0x1,%eax
140664296:	0f 8e 0f 01 00 00    	jle    0x1406643ab
14066429c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406642a1:	0f 84 f9 00 00 00    	je     0x1406643a0
1406642a7:	0f b6 43 08          	movzbl 0x8(%rbx),%eax
1406642ab:	41 88 44 18 08       	mov    %al,0x8(%r8,%rbx,1)
1406642b0:	48 83 c1 10          	add    $0x10,%rcx
1406642b4:	48 83 c3 10          	add    $0x10,%rbx
1406642b8:	48 83 ee 01          	sub    $0x1,%rsi
1406642bc:	75 c2                	jne    0x140664280
1406642be:	49 89 4f 08          	mov    %rcx,0x8(%r15)
1406642c2:	e9 82 00 00 00       	jmp    0x140664349
1406642c7:	48 8b ee             	mov    %rsi,%rbp
1406642ca:	48 c1 e5 04          	shl    $0x4,%rbp
1406642ce:	48 03 ef             	add    %rdi,%rbp
1406642d1:	48 85 f6             	test   %rsi,%rsi
1406642d4:	74 60                	je     0x140664336
1406642d6:	48 8b 13             	mov    (%rbx),%rdx
1406642d9:	48 85 d2             	test   %rdx,%rdx
1406642dc:	74 18                	je     0x1406642f6
1406642de:	8b 42 10             	mov    0x10(%rdx),%eax
1406642e1:	ff c0                	inc    %eax
1406642e3:	89 42 10             	mov    %eax,0x10(%rdx)
1406642e6:	83 f8 01             	cmp    $0x1,%eax
1406642e9:	7e 7d                	jle    0x140664368
1406642eb:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406642f0:	0f 84 bd 00 00 00    	je     0x1406643b3
1406642f6:	48 8b 0f             	mov    (%rdi),%rcx
1406642f9:	48 89 17             	mov    %rdx,(%rdi)
1406642fc:	48 85 c9             	test   %rcx,%rcx
1406642ff:	74 20                	je     0x140664321
140664301:	8b 41 10             	mov    0x10(%rcx),%eax
140664304:	ff c8                	dec    %eax
140664306:	89 41 10             	mov    %eax,0x10(%rcx)
140664309:	85 c0                	test   %eax,%eax
14066430b:	7f 14                	jg     0x140664321
14066430d:	78 61                	js     0x140664370
14066430f:	48 8b 01             	mov    (%rcx),%rax
140664312:	ba 01 00 00 00       	mov    $0x1,%edx
140664317:	48 8b 00             	mov    (%rax),%rax
14066431a:	ff 15 00 f7 91 00    	call   *0x91f700(%rip)        # 0x140f83a20
140664320:	90                   	nop
140664321:	0f b6 43 08          	movzbl 0x8(%rbx),%eax
140664325:	88 47 08             	mov    %al,0x8(%rdi)
140664328:	48 83 c7 10          	add    $0x10,%rdi
14066432c:	48 83 c3 10          	add    $0x10,%rbx
140664330:	48 83 ee 01          	sub    $0x1,%rsi
140664334:	75 a0                	jne    0x1406642d6
140664336:	4d 8b c7             	mov    %r15,%r8
140664339:	49 8b 57 08          	mov    0x8(%r15),%rdx
14066433d:	48 8b cd             	mov    %rbp,%rcx
140664340:	e8 2b 49 f5 ff       	call   0x1405b8c70
140664345:	49 89 6f 08          	mov    %rbp,0x8(%r15)
140664349:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14066434e:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140664353:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140664358:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14066435d:	48 83 c4 20          	add    $0x20,%rsp
140664361:	41 5f                	pop    %r15
140664363:	41 5e                	pop    %r14
140664365:	41 5c                	pop    %r12
140664367:	c3                   	ret
140664368:	33 c9                	xor    %ecx,%ecx
14066436a:	e8 91 63 12 00       	call   0x14078a700
14066436f:	90                   	nop
140664370:	b9 02 00 00 00       	mov    $0x2,%ecx
140664375:	e8 86 63 12 00       	call   0x14078a700
14066437a:	90                   	nop
14066437b:	e8 10 92 b3 ff       	call   0x14019d590
140664380:	cc                   	int3
140664381:	e8 1e 5e 7c 00       	call   0x140e2a1a4
140664386:	90                   	nop
140664387:	b9 01 00 00 00       	mov    $0x1,%ecx
14066438c:	e8 6f 63 12 00       	call   0x14078a700
140664391:	cc                   	int3
140664392:	33 c9                	xor    %ecx,%ecx
140664394:	e8 67 63 12 00       	call   0x14078a700
140664399:	90                   	nop
14066439a:	e8 f1 8d b3 ff       	call   0x14019d190
14066439f:	90                   	nop
1406643a0:	b9 01 00 00 00       	mov    $0x1,%ecx
1406643a5:	e8 56 63 12 00       	call   0x14078a700
1406643aa:	cc                   	int3
1406643ab:	33 c9                	xor    %ecx,%ecx
1406643ad:	e8 4e 63 12 00       	call   0x14078a700
1406643b2:	90                   	nop
1406643b3:	b9 01 00 00 00       	mov    $0x1,%ecx
1406643b8:	e8 43 63 12 00       	call   0x14078a700
1406643bd:	cc                   	int3
1406643be:	cc                   	int3
1406643bf:	cc                   	int3
1406643c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406643c5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406643ca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406643cf:	57                   	push   %rdi
1406643d0:	41 56                	push   %r14
1406643d2:	41 57                	push   %r15
1406643d4:	48 83 ec 70          	sub    $0x70,%rsp
1406643d8:	4d 8b f1             	mov    %r9,%r14
1406643db:	4d 8b f8             	mov    %r8,%r15
1406643de:	48 8b ea             	mov    %rdx,%rbp
1406643e1:	48 8b f1             	mov    %rcx,%rsi
1406643e4:	33 ff                	xor    %edi,%edi
1406643e6:	8b df                	mov    %edi,%ebx
1406643e8:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
1406643ec:	b9 58 00 00 00       	mov    $0x58,%ecx
1406643f1:	e8 12 6d 7b 00       	call   0x140e1b108
1406643f6:	4c 8b d0             	mov    %rax,%r10
1406643f9:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1406643fe:	48 85 c0             	test   %rax,%rax
140664401:	0f 84 97 00 00 00    	je     0x14066449e
140664407:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
14066440c:	bb 01 00 00 00       	mov    $0x1,%ebx
140664411:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
140664415:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
14066441a:	45 0f b6 0e          	movzbl (%r14),%r9d
14066441e:	49 8b 0f             	mov    (%r15),%rcx
140664421:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
140664426:	48 85 c9             	test   %rcx,%rcx
140664429:	74 1b                	je     0x140664446
14066442b:	8b 41 10             	mov    0x10(%rcx),%eax
14066442e:	ff c0                	inc    %eax
140664430:	89 41 10             	mov    %eax,0x10(%rcx)
140664433:	3b c3                	cmp    %ebx,%eax
140664435:	0f 8e c0 00 00 00    	jle    0x1406644fb
14066443b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140664440:	0f 84 bd 00 00 00    	je     0x140664503
140664446:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
14066444a:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
14066444f:	48 85 c9             	test   %rcx,%rcx
140664452:	74 1c                	je     0x140664470
140664454:	8b 41 10             	mov    0x10(%rcx),%eax
140664457:	ff c0                	inc    %eax
140664459:	89 41 10             	mov    %eax,0x10(%rcx)
14066445c:	83 f8 01             	cmp    $0x1,%eax
14066445f:	0f 8e a9 00 00 00    	jle    0x14066450e
140664465:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14066446a:	0f 84 a6 00 00 00    	je     0x140664516
140664470:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140664475:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
14066447a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14066447f:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
140664484:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140664489:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
14066448e:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140664493:	49 8b ca             	mov    %r10,%rcx
140664496:	e8 c5 96 18 00       	call   0x1407edb60
14066449b:	48 8b f8             	mov    %rax,%rdi
14066449e:	48 89 3e             	mov    %rdi,(%rsi)
1406644a1:	83 cb 02             	or     $0x2,%ebx
1406644a4:	f6 c3 01             	test   $0x1,%bl
1406644a7:	74 2a                	je     0x1406644d3
1406644a9:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1406644ae:	48 85 c9             	test   %rcx,%rcx
1406644b1:	74 20                	je     0x1406644d3
1406644b3:	8b 41 10             	mov    0x10(%rcx),%eax
1406644b6:	ff c8                	dec    %eax
1406644b8:	89 41 10             	mov    %eax,0x10(%rcx)
1406644bb:	85 c0                	test   %eax,%eax
1406644bd:	7f 14                	jg     0x1406644d3
1406644bf:	78 2f                	js     0x1406644f0
1406644c1:	48 8b 01             	mov    (%rcx),%rax
1406644c4:	ba 01 00 00 00       	mov    $0x1,%edx
1406644c9:	48 8b 00             	mov    (%rax),%rax
1406644cc:	ff 15 4e f5 91 00    	call   *0x91f54e(%rip)        # 0x140f83a20
1406644d2:	90                   	nop
1406644d3:	48 8b c6             	mov    %rsi,%rax
1406644d6:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1406644db:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1406644df:	49 8b 6b 28          	mov    0x28(%r11),%rbp
1406644e3:	49 8b 73 30          	mov    0x30(%r11),%rsi
1406644e7:	49 8b e3             	mov    %r11,%rsp
1406644ea:	41 5f                	pop    %r15
1406644ec:	41 5e                	pop    %r14
1406644ee:	5f                   	pop    %rdi
1406644ef:	c3                   	ret
1406644f0:	b9 02 00 00 00       	mov    $0x2,%ecx
1406644f5:	e8 06 62 12 00       	call   0x14078a700
1406644fa:	90                   	nop
1406644fb:	33 c9                	xor    %ecx,%ecx
1406644fd:	e8 fe 61 12 00       	call   0x14078a700
140664502:	cc                   	int3
140664503:	b9 01 00 00 00       	mov    $0x1,%ecx
140664508:	e8 f3 61 12 00       	call   0x14078a700
14066450d:	90                   	nop
14066450e:	33 c9                	xor    %ecx,%ecx
140664510:	e8 eb 61 12 00       	call   0x14078a700
140664515:	cc                   	int3
140664516:	b9 01 00 00 00       	mov    $0x1,%ecx
14066451b:	e8 e0 61 12 00       	call   0x14078a700
140664520:	cc                   	int3
140664521:	cc                   	int3
140664522:	cc                   	int3
140664523:	cc                   	int3
140664524:	cc                   	int3
140664525:	cc                   	int3
140664526:	cc                   	int3
140664527:	cc                   	int3
140664528:	cc                   	int3
140664529:	cc                   	int3
14066452a:	cc                   	int3
14066452b:	cc                   	int3
14066452c:	cc                   	int3
14066452d:	cc                   	int3
14066452e:	cc                   	int3
14066452f:	cc                   	int3
140664530:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140664535:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14066453a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14066453f:	41 56                	push   %r14
140664541:	48 83 ec 30          	sub    $0x30,%rsp
140664545:	49 8b f0             	mov    %r8,%rsi
140664548:	4c 8b f2             	mov    %rdx,%r14
14066454b:	48 8b d9             	mov    %rcx,%rbx
14066454e:	33 ff                	xor    %edi,%edi
140664550:	b9 48 00 00 00       	mov    $0x48,%ecx
140664555:	e8 ae 6b 7b 00       	call   0x140e1b108
14066455a:	4c 8b c8             	mov    %rax,%r9
14066455d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140664562:	48 85 c0             	test   %rax,%rax
140664565:	74 34                	je     0x14066459b
140664567:	48 8b 0e             	mov    (%rsi),%rcx
14066456a:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
14066456f:	48 85 c9             	test   %rcx,%rcx
140664572:	74 14                	je     0x140664588
140664574:	8b 41 10             	mov    0x10(%rcx),%eax
140664577:	ff c0                	inc    %eax
140664579:	89 41 10             	mov    %eax,0x10(%rcx)
14066457c:	83 f8 01             	cmp    $0x1,%eax
14066457f:	7e 41                	jle    0x1406645c2
140664581:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140664586:	74 2f                	je     0x1406645b7
140664588:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
14066458d:	41 8b 16             	mov    (%r14),%edx