140562e4c:	48 8b c2             	mov    %rdx,%rax
140562e4f:	48 c1 e8 3f          	shr    $0x3f,%rax
140562e53:	48 03 d0             	add    %rax,%rdx
140562e56:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140562e5a:	48 c1 e2 03          	shl    $0x3,%rdx
140562e5e:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140562e65:	72 18                	jb     0x140562e7f
140562e67:	48 83 c2 27          	add    $0x27,%rdx
140562e6b:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140562e6f:	4c 2b c1             	sub    %rcx,%r8
140562e72:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140562e76:	48 83 f8 1f          	cmp    $0x1f,%rax
140562e7a:	77 41                	ja     0x140562ebd
140562e7c:	4c 8b c1             	mov    %rcx,%r8
140562e7f:	49 8b c8             	mov    %r8,%rcx
140562e82:	e8 bd 82 8b 00       	call   0x140e1b144
140562e87:	48 89 3e             	mov    %rdi,(%rsi)
140562e8a:	4b 8d 0c 64          	lea    (%r12,%r12,2),%rcx
140562e8e:	48 8d 14 cf          	lea    (%rdi,%rcx,8),%rdx
140562e92:	48 89 56 08          	mov    %rdx,0x8(%rsi)
140562e96:	49 8d 0c 3f          	lea    (%r15,%rdi,1),%rcx
140562e9a:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
140562e9e:	49 8b c5             	mov    %r13,%rax
140562ea1:	48 83 c4 30          	add    $0x30,%rsp
140562ea5:	41 5f                	pop    %r15
140562ea7:	41 5e                	pop    %r14
140562ea9:	41 5d                	pop    %r13
140562eab:	41 5c                	pop    %r12
140562ead:	5f                   	pop    %rdi
140562eae:	5e                   	pop    %rsi
140562eaf:	5b                   	pop    %rbx
140562eb0:	c3                   	ret
140562eb1:	e8 da a2 c3 ff       	call   0x14019d190
140562eb6:	cc                   	int3
140562eb7:	e8 d4 a6 c3 ff       	call   0x14019d590
140562ebc:	cc                   	int3
140562ebd:	e8 e2 72 8c 00       	call   0x140e2a1a4
140562ec2:	cc                   	int3
140562ec3:	cc                   	int3
140562ec4:	cc                   	int3
140562ec5:	cc                   	int3
140562ec6:	cc                   	int3
140562ec7:	cc                   	int3
140562ec8:	cc                   	int3
140562ec9:	cc                   	int3
140562eca:	cc                   	int3
140562ecb:	cc                   	int3
140562ecc:	cc                   	int3
140562ecd:	cc                   	int3
140562ece:	cc                   	int3
140562ecf:	cc                   	int3
140562ed0:	48 83 ec 08          	sub    $0x8,%rsp
140562ed4:	49 8b c0             	mov    %r8,%rax
140562ed7:	4c 8b da             	mov    %rdx,%r11
140562eda:	48 3b ca             	cmp    %rdx,%rcx
140562edd:	74 48                	je     0x140562f27
140562edf:	4c 8b d0             	mov    %rax,%r10
140562ee2:	48 89 1c 24          	mov    %rbx,(%rsp)
140562ee6:	4c 2b d1             	sub    %rcx,%r10
140562ee9:	4c 8d 41 08          	lea    0x8(%rcx),%r8
140562eed:	33 db                	xor    %ebx,%ebx
140562eef:	90                   	nop
140562ef0:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140562ef4:	4d 8b 48 08          	mov    0x8(%r8),%r9
140562ef8:	49 8b 10             	mov    (%r8),%rdx
140562efb:	49 89 58 08          	mov    %rbx,0x8(%r8)
140562eff:	49 89 18             	mov    %rbx,(%r8)
140562f02:	49 89 58 f8          	mov    %rbx,-0x8(%r8)
140562f06:	48 89 08             	mov    %rcx,(%rax)
140562f09:	48 83 c0 18          	add    $0x18,%rax
140562f0d:	4b 89 14 02          	mov    %rdx,(%r10,%r8,1)
140562f11:	4f 89 4c 02 08       	mov    %r9,0x8(%r10,%r8,1)
140562f16:	4d 8d 40 18          	lea    0x18(%r8),%r8
140562f1a:	49 8d 48 f8          	lea    -0x8(%r8),%rcx
140562f1e:	49 3b cb             	cmp    %r11,%rcx
140562f21:	75 cd                	jne    0x140562ef0
140562f23:	48 8b 1c 24          	mov    (%rsp),%rbx
140562f27:	48 83 c4 08          	add    $0x8,%rsp
140562f2b:	c3                   	ret
140562f2c:	cc                   	int3
140562f2d:	cc                   	int3
140562f2e:	cc                   	int3
140562f2f:	cc                   	int3
140562f30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140562f35:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140562f3a:	57                   	push   %rdi
140562f3b:	48 83 ec 20          	sub    $0x20,%rsp
140562f3f:	49 8b f0             	mov    %r8,%rsi
140562f42:	48 8b fa             	mov    %rdx,%rdi
140562f45:	33 c0                	xor    %eax,%eax
140562f47:	48 89 02             	mov    %rax,(%rdx)
140562f4a:	48 89 42 08          	mov    %rax,0x8(%rdx)
140562f4e:	48 89 42 10          	mov    %rax,0x10(%rdx)
140562f52:	49 8b 58 08          	mov    0x8(%r8),%rbx
140562f56:	49 2b 18             	sub    (%r8),%rbx
140562f59:	48 c1 fb 05          	sar    $0x5,%rbx
140562f5d:	48 85 db             	test   %rbx,%rbx
140562f60:	74 77                	je     0x140562fd9
140562f62:	48 b9 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rcx
140562f69:	ff ff 07
140562f6c:	48 3b d9             	cmp    %rcx,%rbx
140562f6f:	77 7e                	ja     0x140562fef
140562f71:	48 c1 e3 05          	shl    $0x5,%rbx
140562f75:	48 85 db             	test   %rbx,%rbx
140562f78:	74 35                	je     0x140562faf
140562f7a:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
140562f81:	72 24                	jb     0x140562fa7
140562f83:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
140562f87:	48 3b cb             	cmp    %rbx,%rcx
140562f8a:	76 69                	jbe    0x140562ff5
140562f8c:	e8 77 81 8b 00       	call   0x140e1b108
140562f91:	48 8b c8             	mov    %rax,%rcx
140562f94:	48 85 c0             	test   %rax,%rax
140562f97:	74 50                	je     0x140562fe9
140562f99:	48 83 c0 27          	add    $0x27,%rax
140562f9d:	48 83 e0 e0          	and    $0xffffffffffffffe0,%rax
140562fa1:	48 89 48 f8          	mov    %rcx,-0x8(%rax)
140562fa5:	eb 08                	jmp    0x140562faf
140562fa7:	48 8b cb             	mov    %rbx,%rcx
140562faa:	e8 59 81 8b 00       	call   0x140e1b108
140562faf:	48 89 07             	mov    %rax,(%rdi)
140562fb2:	48 89 47 08          	mov    %rax,0x8(%rdi)
140562fb6:	48 8d 0c 03          	lea    (%rbx,%rax,1),%rcx
140562fba:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140562fbe:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140562fc3:	4c 8b cf             	mov    %rdi,%r9
140562fc6:	4c 8b c0             	mov    %rax,%r8
140562fc9:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140562fcd:	48 8b 0e             	mov    (%rsi),%rcx
140562fd0:	e8 3b e4 ce ff       	call   0x140251410
140562fd5:	48 89 47 08          	mov    %rax,0x8(%rdi)
140562fd9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140562fde:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140562fe3:	48 83 c4 20          	add    $0x20,%rsp
140562fe7:	5f                   	pop    %rdi
140562fe8:	c3                   	ret
140562fe9:	e8 b6 71 8c 00       	call   0x140e2a1a4
140562fee:	cc                   	int3
140562fef:	e8 9c a5 c3 ff       	call   0x14019d590
140562ff4:	cc                   	int3
140562ff5:	e8 96 a1 c3 ff       	call   0x14019d190
140562ffa:	cc                   	int3
140562ffb:	cc                   	int3
140562ffc:	cc                   	int3
140562ffd:	cc                   	int3
140562ffe:	cc                   	int3
140562fff:	cc                   	int3
140563000:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140563005:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14056300a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14056300f:	57                   	push   %rdi
140563010:	48 83 ec 20          	sub    $0x20,%rsp
140563014:	48 8b f1             	mov    %rcx,%rsi
140563017:	48 89 11             	mov    %rdx,(%rcx)
14056301a:	33 ff                	xor    %edi,%edi
14056301c:	48 89 79 08          	mov    %rdi,0x8(%rcx)
140563020:	48 89 79 10          	mov    %rdi,0x10(%rcx)
140563024:	48 89 79 18          	mov    %rdi,0x18(%rcx)
140563028:	48 89 79 20          	mov    %rdi,0x20(%rcx)
14056302c:	48 89 79 28          	mov    %rdi,0x28(%rcx)
140563030:	48 89 79 30          	mov    %rdi,0x30(%rcx)
140563034:	48 39 39             	cmp    %rdi,(%rcx)
140563037:	76 37                	jbe    0x140563070
140563039:	48 c7 44 24 38 01 00 	movq   $0x1,0x38(%rsp)
140563040:	00 00
140563042:	48 8b 56 28          	mov    0x28(%rsi),%rdx
140563046:	48 3b 56 30          	cmp    0x30(%rsi),%rdx
14056304a:	74 0e                	je     0x14056305a
14056304c:	48 c7 02 01 00 00 00 	movq   $0x1,(%rdx)
140563053:	48 83 46 28 08       	addq   $0x8,0x28(%rsi)
140563058:	eb 0e                	jmp    0x140563068
14056305a:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
14056305f:	48 8d 4e 20          	lea    0x20(%rsi),%rcx
140563063:	e8 58 7f e1 ff       	call   0x14037afc0
140563068:	48 ff c7             	inc    %rdi
14056306b:	48 3b 3e             	cmp    (%rsi),%rdi
14056306e:	72 d2                	jb     0x140563042
140563070:	48 8b c6             	mov    %rsi,%rax
140563073:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140563078:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14056307d:	48 83 c4 20          	add    $0x20,%rsp
140563081:	5f                   	pop    %rdi
140563082:	c3                   	ret
140563083:	cc                   	int3
140563084:	cc                   	int3
140563085:	cc                   	int3
140563086:	cc                   	int3
140563087:	cc                   	int3
140563088:	cc                   	int3
140563089:	cc                   	int3
14056308a:	cc                   	int3
14056308b:	cc                   	int3
14056308c:	cc                   	int3
14056308d:	cc                   	int3
14056308e:	cc                   	int3
14056308f:	cc                   	int3
140563090:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140563095:	56                   	push   %rsi
140563096:	48 83 ec 20          	sub    $0x20,%rsp
14056309a:	48 8b 19             	mov    (%rcx),%rbx
14056309d:	48 8b f1             	mov    %rcx,%rsi
1405630a0:	48 85 db             	test   %rbx,%rbx
1405630a3:	0f 84 87 00 00 00    	je     0x140563130
1405630a9:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1405630ae:	48 8b 79 08          	mov    0x8(%rcx),%rdi
1405630b2:	48 3b df             	cmp    %rdi,%rbx
1405630b5:	74 11                	je     0x1405630c8
1405630b7:	48 8b cb             	mov    %rbx,%rcx
1405630ba:	e8 a1 52 c3 ff       	call   0x140198360
1405630bf:	48 83 c3 18          	add    $0x18,%rbx
1405630c3:	48 3b df             	cmp    %rdi,%rbx
1405630c6:	75 ef                	jne    0x1405630b7
1405630c8:	4c 8b 06             	mov    (%rsi),%r8
1405630cb:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1405630d2:	aa aa 2a
1405630d5:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1405630d9:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1405630de:	49 2b c8             	sub    %r8,%rcx
1405630e1:	48 f7 e9             	imul   %rcx
1405630e4:	48 c1 fa 02          	sar    $0x2,%rdx
1405630e8:	48 8b c2             	mov    %rdx,%rax
1405630eb:	48 c1 e8 3f          	shr    $0x3f,%rax
1405630ef:	48 03 d0             	add    %rax,%rdx
1405630f2:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1405630f6:	48 c1 e2 03          	shl    $0x3,%rdx
1405630fa:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140563101:	72 18                	jb     0x14056311b
140563103:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140563107:	48 83 c2 27          	add    $0x27,%rdx
14056310b:	4c 2b c1             	sub    %rcx,%r8
14056310e:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140563112:	48 83 f8 1f          	cmp    $0x1f,%rax
140563116:	77 23                	ja     0x14056313b
140563118:	4c 8b c1             	mov    %rcx,%r8
14056311b:	49 8b c8             	mov    %r8,%rcx
14056311e:	e8 21 80 8b 00       	call   0x140e1b144
140563123:	33 c0                	xor    %eax,%eax
140563125:	48 89 06             	mov    %rax,(%rsi)
140563128:	48 89 46 08          	mov    %rax,0x8(%rsi)
14056312c:	48 89 46 10          	mov    %rax,0x10(%rsi)
140563130:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140563135:	48 83 c4 20          	add    $0x20,%rsp
140563139:	5e                   	pop    %rsi
14056313a:	c3                   	ret
14056313b:	e8 64 70 8c 00       	call   0x140e2a1a4
140563140:	cc                   	int3
140563141:	cc                   	int3
140563142:	cc                   	int3
140563143:	cc                   	int3
140563144:	cc                   	int3
140563145:	cc                   	int3
140563146:	cc                   	int3
140563147:	cc                   	int3
140563148:	cc                   	int3
140563149:	cc                   	int3
14056314a:	cc                   	int3
14056314b:	cc                   	int3
14056314c:	cc                   	int3
14056314d:	cc                   	int3
14056314e:	cc                   	int3
14056314f:	cc                   	int3
140563150:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140563155:	57                   	push   %rdi
140563156:	48 83 ec 20          	sub    $0x20,%rsp
14056315a:	48 8b f9             	mov    %rcx,%rdi
14056315d:	48 8b da             	mov    %rdx,%rbx
140563160:	48 83 c1 08          	add    $0x8,%rcx
140563164:	4c 8b c3             	mov    %rbx,%r8
140563167:	48 8b 57 10          	mov    0x10(%rdi),%rdx
14056316b:	48 3b 57 18          	cmp    0x18(%rdi),%rdx
14056316f:	74 0c                	je     0x14056317d
140563171:	e8 ba fd ff ff       	call   0x140562f30
140563176:	48 83 47 10 18       	addq   $0x18,0x10(%rdi)
14056317b:	eb 05                	jmp    0x140563182
14056317d:	e8 fe fa ff ff       	call   0x140562c80
140563182:	48 8b 0b             	mov    (%rbx),%rcx
140563185:	33 d2                	xor    %edx,%edx
140563187:	48 8b 43 08          	mov    0x8(%rbx),%rax
14056318b:	48 2b c1             	sub    %rcx,%rax
14056318e:	48 c1 f8 05          	sar    $0x5,%rax
140563192:	48 85 c0             	test   %rax,%rax
140563195:	74 3e                	je     0x1405631d5
140563197:	44 8b ca             	mov    %edx,%r9d
14056319a:	44 8b d2             	mov    %edx,%r10d
14056319d:	44 8b c2             	mov    %edx,%r8d
1405631a0:	48 8b 47 20          	mov    0x20(%rdi),%rax
1405631a4:	49 8b 4c 09 10       	mov    0x10(%r9,%rcx,1),%rcx
1405631a9:	4a 3b 0c 10          	cmp    (%rax,%r10,1),%rcx
1405631ad:	76 04                	jbe    0x1405631b3
1405631af:	4a 89 0c 00          	mov    %rcx,(%rax,%r8,1)
1405631b3:	48 8b 0b             	mov    (%rbx),%rcx
1405631b6:	48 ff c2             	inc    %rdx
1405631b9:	48 8b 43 08          	mov    0x8(%rbx),%rax
1405631bd:	49 83 c1 20          	add    $0x20,%r9
1405631c1:	48 2b c1             	sub    %rcx,%rax
1405631c4:	49 83 c2 08          	add    $0x8,%r10
1405631c8:	48 c1 f8 05          	sar    $0x5,%rax
1405631cc:	49 83 c0 08          	add    $0x8,%r8
1405631d0:	48 3b d0             	cmp    %rax,%rdx
1405631d3:	72 cb                	jb     0x1405631a0
1405631d5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405631da:	48 83 c4 20          	add    $0x20,%rsp
1405631de:	5f                   	pop    %rdi
1405631df:	c3                   	ret
1405631e0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1405631e5:	55                   	push   %rbp
1405631e6:	56                   	push   %rsi
1405631e7:	57                   	push   %rdi
1405631e8:	41 54                	push   %r12
1405631ea:	41 55                	push   %r13
1405631ec:	41 56                	push   %r14
1405631ee:	41 57                	push   %r15
1405631f0:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1405631f7:	48 8b 05 02 5d e5 00 	mov    0xe55d02(%rip),%rax        # 0x1413b8f00
1405631fe:	48 33 c4             	xor    %rsp,%rax
140563201:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140563206:	44 88 44 24 30       	mov    %r8b,0x30(%rsp)
14056320b:	4c 8b e2             	mov    %rdx,%r12
14056320e:	4c 8b e9             	mov    %rcx,%r13
140563211:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
140563216:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%rsp)
14056321d:	00
14056321e:	48 8d 71 20          	lea    0x20(%rcx),%rsi
140563222:	48 8b d6             	mov    %rsi,%rdx
140563225:	49 8b cc             	mov    %r12,%rcx
140563228:	e8 83 03 00 00       	call   0x1405635b0
14056322d:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%rsp)
140563234:	00
140563235:	45 33 c0             	xor    %r8d,%r8d
140563238:	41 8b e8             	mov    %r8d,%ebp
14056323b:	4c 89 44 24 40       	mov    %r8,0x40(%rsp)
140563240:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140563244:	49 2b 4d 08          	sub    0x8(%r13),%rcx
140563248:	49 bf ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r15
14056324f:	aa aa 2a
140563252:	49 8b c7             	mov    %r15,%rax
140563255:	48 f7 e9             	imul   %rcx
140563258:	48 c1 fa 02          	sar    $0x2,%rdx
14056325c:	48 8b c2             	mov    %rdx,%rax
14056325f:	48 c1 e8 3f          	shr    $0x3f,%rax
140563263:	48 03 d0             	add    %rax,%rdx
140563266:	0f 84 8d 02 00 00    	je     0x1405634f9
14056326c:	41 8b f8             	mov    %r8d,%edi
14056326f:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140563274:	0f b6 5c 24 30       	movzbl 0x30(%rsp),%ebx
140563279:	41 ba 16 00 00 00    	mov    $0x16,%r10d
14056327f:	49 b9 00 00 00 00 00 	movabs $0x8000000000000000,%r9
140563286:	00 00 80
140563289:	48 ba ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdx
140563290:	ff ff 7f