1407410d5:	48 63 d9             	movslq %ecx,%rbx
1407410d8:	49 63 d4             	movslq %r12d,%rdx
1407410db:	49 03 d5             	add    %r13,%rdx
1407410de:	4c 8b c3             	mov    %rbx,%r8
1407410e1:	48 8b cf             	mov    %rdi,%rcx
1407410e4:	e8 27 df 79 00       	call   0x140edf010
1407410e9:	48 03 fb             	add    %rbx,%rdi
1407410ec:	44 8b 66 04          	mov    0x4(%rsi),%r12d
1407410f0:	4d 63 46 08          	movslq 0x8(%r14),%r8
1407410f4:	49 8b 16             	mov    (%r14),%rdx
1407410f7:	48 8b cf             	mov    %rdi,%rcx
1407410fa:	e8 11 df 79 00       	call   0x140edf010
1407410ff:	49 63 46 08          	movslq 0x8(%r14),%rax
140741103:	48 03 f8             	add    %rax,%rdi
140741106:	48 83 c6 08          	add    $0x8,%rsi
14074110a:	49 3b f7             	cmp    %r15,%rsi
14074110d:	75 c1                	jne    0x1407410d0
14074110f:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
140741114:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
14074111b:	00
14074111c:	48 8b 40 20          	mov    0x20(%rax),%rax
140741120:	8b 48 08             	mov    0x8(%rax),%ecx
140741123:	41 2b cc             	sub    %r12d,%ecx
140741126:	48 63 d9             	movslq %ecx,%rbx
140741129:	49 63 d4             	movslq %r12d,%rdx
14074112c:	49 03 d5             	add    %r13,%rdx
14074112f:	4c 8b c3             	mov    %rbx,%r8
140741132:	48 8b cf             	mov    %rdi,%rcx
140741135:	e8 d6 de 79 00       	call   0x140edf010
14074113a:	48 03 fb             	add    %rbx,%rdi
14074113d:	c6 07 00             	movb   $0x0,(%rdi)
140741140:	b9 10 00 00 00       	mov    $0x10,%ecx
140741145:	e8 be 9f 6d 00       	call   0x140e1b108
14074114a:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
140741151:	00
140741152:	48 85 c0             	test   %rax,%rax
140741155:	74 1c                	je     0x140741173
140741157:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
14074115c:	41 2b f8             	sub    %r8d,%edi
14074115f:	44 8b cf             	mov    %edi,%r9d
140741162:	b2 01                	mov    $0x1,%dl
140741164:	48 8b c8             	mov    %rax,%rcx
140741167:	e8 14 03 fe ff       	call   0x140721480
14074116c:	48 8b d8             	mov    %rax,%rbx
14074116f:	33 ff                	xor    %edi,%edi
140741171:	eb 04                	jmp    0x140741177
140741173:	33 ff                	xor    %edi,%edi
140741175:	8b df                	mov    %edi,%ebx
140741177:	b9 28 00 00 00       	mov    $0x28,%ecx
14074117c:	e8 87 9f 6d 00       	call   0x140e1b108
140741181:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
140741188:	00
140741189:	48 85 c0             	test   %rax,%rax
14074118c:	74 0e                	je     0x14074119c
14074118e:	48 8b d3             	mov    %rbx,%rdx
140741191:	48 8b c8             	mov    %rax,%rcx
140741194:	e8 c7 0a ff ff       	call   0x140731c60
140741199:	48 8b f8             	mov    %rax,%rdi
14074119c:	48 8b 9c 24 a8 00 00 	mov    0xa8(%rsp),%rbx
1407411a3:	00
1407411a4:	48 89 3b             	mov    %rdi,(%rbx)
1407411a7:	4d 85 f6             	test   %r14,%r14
1407411aa:	74 33                	je     0x1407411df
1407411ac:	49 2b ee             	sub    %r14,%rbp
1407411af:	48 83 e5 f8          	and    $0xfffffffffffffff8,%rbp
1407411b3:	49 8b c6             	mov    %r14,%rax
1407411b6:	48 81 fd 00 10 00 00 	cmp    $0x1000,%rbp
1407411bd:	72 15                	jb     0x1407411d4
1407411bf:	48 83 c5 27          	add    $0x27,%rbp
1407411c3:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
1407411c7:	49 2b c6             	sub    %r14,%rax
1407411ca:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407411ce:	48 83 f8 1f          	cmp    $0x1f,%rax
1407411d2:	77 1f                	ja     0x1407411f3
1407411d4:	48 8b d5             	mov    %rbp,%rdx
1407411d7:	49 8b ce             	mov    %r14,%rcx
1407411da:	e8 65 9f 6d 00       	call   0x140e1b144
1407411df:	48 8b c3             	mov    %rbx,%rax
1407411e2:	48 83 c4 58          	add    $0x58,%rsp
1407411e6:	41 5f                	pop    %r15
1407411e8:	41 5e                	pop    %r14
1407411ea:	41 5d                	pop    %r13
1407411ec:	41 5c                	pop    %r12
1407411ee:	5f                   	pop    %rdi
1407411ef:	5e                   	pop    %rsi
1407411f0:	5d                   	pop    %rbp
1407411f1:	5b                   	pop    %rbx
1407411f2:	c3                   	ret
1407411f3:	e8 ac 8f 6e 00       	call   0x140e2a1a4
1407411f8:	cc                   	int3
1407411f9:	cc                   	int3
1407411fa:	cc                   	int3
1407411fb:	cc                   	int3
1407411fc:	cc                   	int3
1407411fd:	cc                   	int3
1407411fe:	cc                   	int3
1407411ff:	cc                   	int3
140741200:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140741205:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14074120a:	57                   	push   %rdi
14074120b:	48 83 ec 20          	sub    $0x20,%rsp
14074120f:	8b da                	mov    %edx,%ebx
140741211:	48 8b f1             	mov    %rcx,%rsi
140741214:	48 8b 49 30          	mov    0x30(%rcx),%rcx
140741218:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14074121d:	48 8b 79 08          	mov    0x8(%rcx),%rdi
140741221:	48 2b 39             	sub    (%rcx),%rdi
140741224:	48 8b 41 10          	mov    0x10(%rcx),%rax
140741228:	48 2b 01             	sub    (%rcx),%rax
14074122b:	48 c1 ff 04          	sar    $0x4,%rdi
14074122f:	48 c1 f8 04          	sar    $0x4,%rax
140741233:	48 3b d8             	cmp    %rax,%rbx
140741236:	76 0a                	jbe    0x140741242
140741238:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14074123d:	e8 0e 87 e1 ff       	call   0x140559950
140741242:	4c 8b 4e 30          	mov    0x30(%rsi),%r9
140741246:	49 8b 49 08          	mov    0x8(%r9),%rcx
14074124a:	4d 8b 01             	mov    (%r9),%r8
14074124d:	48 8b d1             	mov    %rcx,%rdx
140741250:	49 2b d0             	sub    %r8,%rdx
140741253:	48 c1 fa 04          	sar    $0x4,%rdx
140741257:	48 3b da             	cmp    %rdx,%rbx
14074125a:	73 10                	jae    0x14074126c
14074125c:	48 8b c3             	mov    %rbx,%rax
14074125f:	48 c1 e0 04          	shl    $0x4,%rax
140741263:	49 03 c0             	add    %r8,%rax
140741266:	49 89 41 08          	mov    %rax,0x8(%r9)
14074126a:	eb 46                	jmp    0x1407412b2
14074126c:	76 44                	jbe    0x1407412b2
14074126e:	49 8b 41 10          	mov    0x10(%r9),%rax
140741272:	49 2b c0             	sub    %r8,%rax
140741275:	48 c1 f8 04          	sar    $0x4,%rax
140741279:	48 3b d8             	cmp    %rax,%rbx
14074127c:	76 12                	jbe    0x140741290
14074127e:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140741283:	48 8b d3             	mov    %rbx,%rdx
140741286:	49 8b c9             	mov    %r9,%rcx
140741289:	e8 d2 e2 fe ff       	call   0x14072f560
14074128e:	eb 22                	jmp    0x1407412b2
140741290:	48 8b c3             	mov    %rbx,%rax
140741293:	48 2b c2             	sub    %rdx,%rax
140741296:	74 16                	je     0x1407412ae
140741298:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14074129f:	00
1407412a0:	c6 41 08 00          	movb   $0x0,0x8(%rcx)
1407412a4:	48 83 c1 10          	add    $0x10,%rcx
1407412a8:	48 83 e8 01          	sub    $0x1,%rax
1407412ac:	75 f2                	jne    0x1407412a0
1407412ae:	49 89 49 08          	mov    %rcx,0x8(%r9)
1407412b2:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1407412b6:	48 85 c9             	test   %rcx,%rcx
1407412b9:	74 2b                	je     0x1407412e6
1407412bb:	48 8b 51 10          	mov    0x10(%rcx),%rdx
1407412bf:	48 2b 11             	sub    (%rcx),%rdx
1407412c2:	48 c1 fa 03          	sar    $0x3,%rdx
1407412c6:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1407412cb:	48 3b da             	cmp    %rdx,%rbx
1407412ce:	76 0a                	jbe    0x1407412da
1407412d0:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1407412d5:	e8 f6 d3 c7 ff       	call   0x1403be6d0
1407412da:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1407412de:	48 8b d3             	mov    %rbx,%rdx
1407412e1:	e8 7a 3f c3 ff       	call   0x140375260
1407412e6:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1407412eb:	8b c7                	mov    %edi,%eax
1407412ed:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1407412f2:	48 83 c4 20          	add    $0x20,%rsp
1407412f6:	5f                   	pop    %rdi
1407412f7:	c3                   	ret
1407412f8:	cc                   	int3
1407412f9:	cc                   	int3
1407412fa:	cc                   	int3
1407412fb:	cc                   	int3
1407412fc:	cc                   	int3
1407412fd:	cc                   	int3
1407412fe:	cc                   	int3
1407412ff:	cc                   	int3
140741300:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140741305:	55                   	push   %rbp
140741306:	56                   	push   %rsi
140741307:	57                   	push   %rdi
140741308:	41 54                	push   %r12
14074130a:	41 55                	push   %r13
14074130c:	41 56                	push   %r14
14074130e:	41 57                	push   %r15
140741310:	48 83 ec 30          	sub    $0x30,%rsp
140741314:	48 8b e9             	mov    %rcx,%rbp
140741317:	44 0f b6 c1          	movzbl %cl,%r8d
14074131b:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140741322:	9c f2 cb
140741325:	4c 33 c0             	xor    %rax,%r8
140741328:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
14074132f:	01 00 00
140741332:	4d 0f af c1          	imul   %r9,%r8
140741336:	48 8b c1             	mov    %rcx,%rax
140741339:	48 c1 f8 08          	sar    $0x8,%rax
14074133d:	0f b6 d0             	movzbl %al,%edx
140741340:	4c 33 c2             	xor    %rdx,%r8
140741343:	4d 0f af c1          	imul   %r9,%r8
140741347:	48 8b c1             	mov    %rcx,%rax
14074134a:	48 c1 f8 10          	sar    $0x10,%rax
14074134e:	0f b6 c8             	movzbl %al,%ecx
140741351:	4c 33 c1             	xor    %rcx,%r8
140741354:	4d 0f af c1          	imul   %r9,%r8
140741358:	48 8b c5             	mov    %rbp,%rax
14074135b:	48 c1 f8 18          	sar    $0x18,%rax
14074135f:	0f b6 c8             	movzbl %al,%ecx
140741362:	4c 33 c1             	xor    %rcx,%r8
140741365:	4d 0f af c1          	imul   %r9,%r8
140741369:	48 8b c5             	mov    %rbp,%rax
14074136c:	48 c1 f8 20          	sar    $0x20,%rax
140741370:	0f b6 c8             	movzbl %al,%ecx
140741373:	4c 33 c1             	xor    %rcx,%r8
140741376:	4d 0f af c1          	imul   %r9,%r8
14074137a:	48 8b c5             	mov    %rbp,%rax
14074137d:	48 c1 f8 28          	sar    $0x28,%rax
140741381:	0f b6 c8             	movzbl %al,%ecx
140741384:	4c 33 c1             	xor    %rcx,%r8
140741387:	4d 0f af c1          	imul   %r9,%r8
14074138b:	48 8b c5             	mov    %rbp,%rax
14074138e:	48 c1 f8 30          	sar    $0x30,%rax
140741392:	0f b6 c8             	movzbl %al,%ecx
140741395:	4c 33 c1             	xor    %rcx,%r8
140741398:	4d 0f af c1          	imul   %r9,%r8
14074139c:	48 8b c5             	mov    %rbp,%rax
14074139f:	48 c1 f8 38          	sar    $0x38,%rax
1407413a3:	0f b6 c8             	movzbl %al,%ecx
1407413a6:	4c 33 c1             	xor    %rcx,%r8
1407413a9:	4d 0f af c1          	imul   %r9,%r8
1407413ad:	48 8b 0d 0c f1 ce 00 	mov    0xcef10c(%rip),%rcx        # 0x1414304c0
1407413b4:	49 23 c8             	and    %r8,%rcx
1407413b7:	48 c1 e1 04          	shl    $0x4,%rcx
1407413bb:	48 03 0d e6 f0 ce 00 	add    0xcef0e6(%rip),%rcx        # 0x1414304a8
1407413c2:	48 8b 41 08          	mov    0x8(%rcx),%rax
1407413c6:	48 8b 15 cb f0 ce 00 	mov    0xcef0cb(%rip),%rdx        # 0x141430498
1407413cd:	48 3b c2             	cmp    %rdx,%rax
1407413d0:	74 1f                	je     0x1407413f1
1407413d2:	48 8b 09             	mov    (%rcx),%rcx
1407413d5:	48 3b 68 10          	cmp    0x10(%rax),%rbp
1407413d9:	74 18                	je     0x1407413f3
1407413db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1407413e0:	48 3b c1             	cmp    %rcx,%rax
1407413e3:	74 0c                	je     0x1407413f1
1407413e5:	48 8b 40 08          	mov    0x8(%rax),%rax
1407413e9:	48 3b 68 10          	cmp    0x10(%rax),%rbp
1407413ed:	75 f1                	jne    0x1407413e0
1407413ef:	eb 02                	jmp    0x1407413f3
1407413f1:	33 c0                	xor    %eax,%eax
1407413f3:	48 8b ca             	mov    %rdx,%rcx
1407413f6:	48 85 c0             	test   %rax,%rax
1407413f9:	48 0f 45 c8          	cmovne %rax,%rcx
1407413fd:	48 3b ca             	cmp    %rdx,%rcx
140741400:	0f 84 4b 01 00 00    	je     0x140741551
140741406:	4c 8b 61 18          	mov    0x18(%rcx),%r12
14074140a:	48 8b 41 20          	mov    0x20(%rcx),%rax
14074140e:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140741415:	00
140741416:	4c 3b e0             	cmp    %rax,%r12
140741419:	0f 84 32 01 00 00    	je     0x140741551
14074141f:	90                   	nop
140741420:	49 8b 04 24          	mov    (%r12),%rax
140741424:	48 8b 48 40          	mov    0x40(%rax),%rcx
140741428:	48 8b 79 08          	mov    0x8(%rcx),%rdi
14074142c:	48 2b 39             	sub    (%rcx),%rdi
14074142f:	48 c1 ff 04          	sar    $0x4,%rdi
140741433:	48 63 45 78          	movslq 0x78(%rbp),%rax
140741437:	3b c7                	cmp    %edi,%eax
140741439:	0f 8e 00 01 00 00    	jle    0x14074153f
14074143f:	48 63 f7             	movslq %edi,%rsi
140741442:	4c 8b e8             	mov    %rax,%r13
140741445:	48 3b f0             	cmp    %rax,%rsi
140741448:	0f 8d f1 00 00 00    	jge    0x14074153f
14074144e:	66 90                	xchg   %ax,%ax
140741450:	49 8b 1c 24          	mov    (%r12),%rbx
140741454:	48 8b 85 80 00 00 00 	mov    0x80(%rbp),%rax
14074145b:	48 8b 08             	mov    (%rax),%rcx
14074145e:	4c 8b 3c f1          	mov    (%rcx,%rsi,8),%r15
140741462:	44 8b c7             	mov    %edi,%r8d
140741465:	48 8d 94 24 80 00 00 	lea    0x80(%rsp),%rdx
14074146c:	00
14074146d:	48 8b cd             	mov    %rbp,%rcx
140741470:	e8 cb c6 00 00       	call   0x14074db40
140741475:	4c 8b f0             	mov    %rax,%r14
140741478:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14074147d:	48 8b 08             	mov    (%rax),%rcx
140741480:	48 8b 5b 40          	mov    0x40(%rbx),%rbx
140741484:	48 85 c9             	test   %rcx,%rcx
140741487:	74 5b                	je     0x1407414e4
140741489:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
14074148e:	8b 41 10             	mov    0x10(%rcx),%eax
140741491:	ff c0                	inc    %eax
140741493:	89 41 10             	mov    %eax,0x10(%rcx)
140741496:	83 f8 01             	cmp    $0x1,%eax
140741499:	0f 8e c7 00 00 00    	jle    0x140741566
14074149f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1407414a4:	0f 84 cf 00 00 00    	je     0x140741579
1407414aa:	4d 8b c7             	mov    %r15,%r8
1407414ad:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
1407414b2:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1407414b7:	e8 84 69 fd ff       	call   0x140717e40
1407414bc:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1407414c0:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
1407414c4:	74 11                	je     0x1407414d7
1407414c6:	48 8b 00             	mov    (%rax),%rax
1407414c9:	48 89 02             	mov    %rax,(%rdx)
1407414cc:	c6 42 08 01          	movb   $0x1,0x8(%rdx)
1407414d0:	48 83 43 08 10       	addq   $0x10,0x8(%rbx)
1407414d5:	eb 32                	jmp    0x140741509
1407414d7:	4c 8b c0             	mov    %rax,%r8
1407414da:	48 8b cb             	mov    %rbx,%rcx
1407414dd:	e8 fe c2 fe ff       	call   0x14072d7e0
1407414e2:	eb 25                	jmp    0x140741509
1407414e4:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1407414e8:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
1407414ec:	74 0b                	je     0x1407414f9
1407414ee:	c6 42 08 00          	movb   $0x0,0x8(%rdx)
1407414f2:	48 83 43 08 10       	addq   $0x10,0x8(%rbx)
1407414f7:	eb 10                	jmp    0x140741509
1407414f9:	4c 8d 05 20 1a 8e 00 	lea    0x8e1a20(%rip),%r8        # 0x141022f20
140741500:	48 8b cb             	mov    %rbx,%rcx
140741503:	e8 78 c1 fe ff       	call   0x14072d680
140741508:	90                   	nop
140741509:	49 8b 0e             	mov    (%r14),%rcx
14074150c:	48 85 c9             	test   %rcx,%rcx
14074150f:	74 20                	je     0x140741531
140741511:	8b 41 10             	mov    0x10(%rcx),%eax
140741514:	ff c8                	dec    %eax
140741516:	89 41 10             	mov    %eax,0x10(%rcx)
140741519:	85 c0                	test   %eax,%eax
14074151b:	7f 14                	jg     0x140741531
14074151d:	78 4f                	js     0x14074156e
14074151f:	48 8b 01             	mov    (%rcx),%rax
140741522:	ba 01 00 00 00       	mov    $0x1,%edx
140741527:	48 8b 00             	mov    (%rax),%rax
14074152a:	ff 15 f0 24 84 00    	call   *0x8424f0(%rip)        # 0x140f83a20
140741530:	90                   	nop
140741531:	ff c7                	inc    %edi
140741533:	48 ff c6             	inc    %rsi
140741536:	49 3b f5             	cmp    %r13,%rsi
140741539:	0f 8c 11 ff ff ff    	jl     0x140741450
14074153f:	49 83 c4 08          	add    $0x8,%r12
140741543:	4c 3b a4 24 88 00 00 	cmp    0x88(%rsp),%r12
14074154a:	00
14074154b:	0f 85 cf fe ff ff    	jne    0x140741420
140741551:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140741556:	48 83 c4 30          	add    $0x30,%rsp
14074155a:	41 5f                	pop    %r15
14074155c:	41 5e                	pop    %r14
14074155e:	41 5d                	pop    %r13
140741560:	41 5c                	pop    %r12