1401cac1a:	49 8b f0             	mov    %r8,%rsi
1401cac1d:	4c 8b 71 10          	mov    0x10(%rcx),%r14
1401cac21:	48 8b c5             	mov    %rbp,%rax
1401cac24:	49 2b c6             	sub    %r14,%rax
1401cac27:	4c 8b e2             	mov    %rdx,%r12
1401cac2a:	48 8b d9             	mov    %rcx,%rbx
1401cac2d:	4c 3b c0             	cmp    %rax,%r8
1401cac30:	77 2c                	ja     0x1401cac5e
1401cac32:	4f 8d 3c 06          	lea    (%r14,%r8,1),%r15
1401cac36:	48 8b f9             	mov    %rcx,%rdi
1401cac39:	4c 89 79 10          	mov    %r15,0x10(%rcx)
1401cac3d:	48 83 fd 08          	cmp    $0x8,%rbp
1401cac41:	72 03                	jb     0x1401cac46
1401cac43:	48 8b 39             	mov    (%rcx),%rdi
1401cac46:	4d 03 c0             	add    %r8,%r8
1401cac49:	4a 8d 0c 77          	lea    (%rdi,%r14,2),%rcx
1401cac4d:	e8 dc 1d 13 00       	call   0x1402fca2e
1401cac52:	33 c0                	xor    %eax,%eax
1401cac54:	66 42 89 04 7f       	mov    %ax,(%rdi,%r15,2)
1401cac59:	e9 f7 00 00 00       	jmp    0x1401cad55
1401cac5e:	48 bf fe ff ff ff ff 	movabs $0x7ffffffffffffffe,%rdi
1401cac65:	ff ff 7f
1401cac68:	48 8b c7             	mov    %rdi,%rax
1401cac6b:	49 2b c6             	sub    %r14,%rax
1401cac6e:	48 3b c6             	cmp    %rsi,%rax
1401cac71:	0f 82 f8 00 00 00    	jb     0x1401cad6f
1401cac77:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
1401cac7c:	4f 8d 2c 06          	lea    (%r14,%r8,1),%r13
1401cac80:	49 8b cd             	mov    %r13,%rcx
1401cac83:	48 83 c9 07          	or     $0x7,%rcx
1401cac87:	48 3b cf             	cmp    %rdi,%rcx
1401cac8a:	77 1f                	ja     0x1401cacab
1401cac8c:	48 8b d5             	mov    %rbp,%rdx
1401cac8f:	48 8b c7             	mov    %rdi,%rax
1401cac92:	48 d1 ea             	shr    $1,%rdx
1401cac95:	48 2b c2             	sub    %rdx,%rax
1401cac98:	48 3b e8             	cmp    %rax,%rbp
1401cac9b:	77 0e                	ja     0x1401cacab
1401cac9d:	48 8d 04 2a          	lea    (%rdx,%rbp,1),%rax
1401caca1:	48 8b f9             	mov    %rcx,%rdi
1401caca4:	48 3b c8             	cmp    %rax,%rcx
1401caca7:	48 0f 42 f8          	cmovb  %rax,%rdi
1401cacab:	48 8d 57 01          	lea    0x1(%rdi),%rdx
1401cacaf:	48 8b cb             	mov    %rbx,%rcx
1401cacb2:	e8 d9 fe ff ff       	call   0x1401cab90
1401cacb7:	48 03 f6             	add    %rsi,%rsi
1401cacba:	4c 89 6b 10          	mov    %r13,0x10(%rbx)
1401cacbe:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
1401cacc2:	4f 8d 04 36          	lea    (%r14,%r14,1),%r8
1401cacc6:	4c 8b f8             	mov    %rax,%r15
1401cacc9:	48 8b c8             	mov    %rax,%rcx
1401caccc:	4d 8d 34 00          	lea    (%r8,%rax,1),%r14
1401cacd0:	48 83 fd 08          	cmp    $0x8,%rbp
1401cacd4:	72 5a                	jb     0x1401cad30
1401cacd6:	48 8b 3b             	mov    (%rbx),%rdi
1401cacd9:	48 8b d7             	mov    %rdi,%rdx
1401cacdc:	e8 47 1d 13 00       	call   0x1402fca28
1401cace1:	4c 8b c6             	mov    %rsi,%r8
1401cace4:	49 8b d4             	mov    %r12,%rdx
1401cace7:	49 8b ce             	mov    %r14,%rcx
1401cacea:	e8 39 1d 13 00       	call   0x1402fca28
1401cacef:	33 c0                	xor    %eax,%eax
1401cacf1:	48 8d 14 6d 02 00 00 	lea    0x2(,%rbp,2),%rdx
1401cacf8:	00
1401cacf9:	66 43 89 04 6f       	mov    %ax,(%r15,%r13,2)
1401cacfe:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401cad05:	72 18                	jb     0x1401cad1f
1401cad07:	48 8b 4f f8          	mov    -0x8(%rdi),%rcx
1401cad0b:	48 83 c2 27          	add    $0x27,%rdx
1401cad0f:	48 2b f9             	sub    %rcx,%rdi
1401cad12:	48 8d 47 f8          	lea    -0x8(%rdi),%rax
1401cad16:	48 83 f8 1f          	cmp    $0x1f,%rax
1401cad1a:	77 0d                	ja     0x1401cad29
1401cad1c:	48 8b f9             	mov    %rcx,%rdi
1401cad1f:	48 8b cf             	mov    %rdi,%rcx
1401cad22:	e8 5d f5 12 00       	call   0x1402fa284
1401cad27:	eb 24                	jmp    0x1401cad4d
1401cad29:	ff 15 c9 f2 15 00    	call   *0x15f2c9(%rip)        # 0x140329ff8
1401cad2f:	cc                   	int3
1401cad30:	48 8b d3             	mov    %rbx,%rdx
1401cad33:	e8 f0 1c 13 00       	call   0x1402fca28
1401cad38:	4c 8b c6             	mov    %rsi,%r8
1401cad3b:	49 8b d4             	mov    %r12,%rdx
1401cad3e:	49 8b ce             	mov    %r14,%rcx
1401cad41:	e8 e2 1c 13 00       	call   0x1402fca28
1401cad46:	33 c0                	xor    %eax,%eax
1401cad48:	66 43 89 04 6f       	mov    %ax,(%r15,%r13,2)
1401cad4d:	4c 89 3b             	mov    %r15,(%rbx)
1401cad50:	4c 8b 6c 24 50       	mov    0x50(%rsp),%r13
1401cad55:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1401cad5a:	48 8b c3             	mov    %rbx,%rax
1401cad5d:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1401cad62:	48 83 c4 20          	add    $0x20,%rsp
1401cad66:	41 5f                	pop    %r15
1401cad68:	41 5e                	pop    %r14
1401cad6a:	41 5c                	pop    %r12
1401cad6c:	5f                   	pop    %rdi
1401cad6d:	5e                   	pop    %rsi
1401cad6e:	c3                   	ret
1401cad6f:	e8 cc d2 eb ff       	call   0x140088040
1401cad74:	cc                   	int3
1401cad75:	cc                   	int3
1401cad76:	cc                   	int3
1401cad77:	cc                   	int3
1401cad78:	cc                   	int3
1401cad79:	cc                   	int3
1401cad7a:	cc                   	int3
1401cad7b:	cc                   	int3
1401cad7c:	cc                   	int3
1401cad7d:	cc                   	int3
1401cad7e:	cc                   	int3
1401cad7f:	cc                   	int3
1401cad80:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1401cad85:	66 44 89 44 24 18    	mov    %r8w,0x18(%rsp)
1401cad8b:	55                   	push   %rbp
1401cad8c:	56                   	push   %rsi
1401cad8d:	57                   	push   %rdi
1401cad8e:	41 54                	push   %r12
1401cad90:	41 57                	push   %r15
1401cad92:	48 83 ec 20          	sub    $0x20,%rsp
1401cad96:	4c 8b 61 18          	mov    0x18(%rcx),%r12
1401cad9a:	48 8b f2             	mov    %rdx,%rsi
1401cad9d:	4c 8b 79 10          	mov    0x10(%rcx),%r15
1401cada1:	49 8b c4             	mov    %r12,%rax
1401cada4:	49 2b c7             	sub    %r15,%rax
1401cada7:	41 0f b7 e8          	movzwl %r8w,%ebp
1401cadab:	48 8b d9             	mov    %rcx,%rbx
1401cadae:	48 3b d0             	cmp    %rax,%rdx
1401cadb1:	77 32                	ja     0x1401cade5
1401cadb3:	4d 8d 0c 17          	lea    (%r15,%rdx,1),%r9
1401cadb7:	48 8b d1             	mov    %rcx,%rdx
1401cadba:	4c 89 49 10          	mov    %r9,0x10(%rcx)
1401cadbe:	49 83 fc 08          	cmp    $0x8,%r12
1401cadc2:	72 03                	jb     0x1401cadc7
1401cadc4:	48 8b 11             	mov    (%rcx),%rdx
1401cadc7:	4a 8d 3c 7a          	lea    (%rdx,%r15,2),%rdi
1401cadcb:	48 85 f6             	test   %rsi,%rsi
1401cadce:	74 09                	je     0x1401cadd9
1401cadd0:	48 8b c5             	mov    %rbp,%rax
1401cadd3:	48 8b ce             	mov    %rsi,%rcx
1401cadd6:	66 f3 ab             	rep stos %ax,%es:(%rdi)
1401cadd9:	33 c0                	xor    %eax,%eax
1401caddb:	66 42 89 04 4a       	mov    %ax,(%rdx,%r9,2)
1401cade0:	e9 00 01 00 00       	jmp    0x1401caee5
1401cade5:	48 bf fe ff ff ff ff 	movabs $0x7ffffffffffffffe,%rdi
1401cadec:	ff ff 7f
1401cadef:	48 8b c7             	mov    %rdi,%rax
1401cadf2:	49 2b c7             	sub    %r15,%rax
1401cadf5:	48 3b c6             	cmp    %rsi,%rax
1401cadf8:	0f 82 fb 00 00 00    	jb     0x1401caef9
1401cadfe:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
1401cae03:	4d 8d 2c 17          	lea    (%r15,%rdx,1),%r13
1401cae07:	49 8b cd             	mov    %r13,%rcx
1401cae0a:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)
1401cae0f:	48 83 c9 07          	or     $0x7,%rcx
1401cae13:	48 3b cf             	cmp    %rdi,%rcx
1401cae16:	77 1f                	ja     0x1401cae37
1401cae18:	49 8b d4             	mov    %r12,%rdx
1401cae1b:	48 8b c7             	mov    %rdi,%rax
1401cae1e:	48 d1 ea             	shr    $1,%rdx
1401cae21:	48 2b c2             	sub    %rdx,%rax
1401cae24:	4c 3b e0             	cmp    %rax,%r12
1401cae27:	77 0e                	ja     0x1401cae37
1401cae29:	4a 8d 04 22          	lea    (%rdx,%r12,1),%rax
1401cae2d:	48 8b f9             	mov    %rcx,%rdi
1401cae30:	48 3b c8             	cmp    %rax,%rcx
1401cae33:	48 0f 42 f8          	cmovb  %rax,%rdi
1401cae37:	48 8d 57 01          	lea    0x1(%rdi),%rdx
1401cae3b:	48 8b cb             	mov    %rbx,%rcx
1401cae3e:	e8 4d fd ff ff       	call   0x1401cab90
1401cae43:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
1401cae47:	4f 8d 04 3f          	lea    (%r15,%r15,1),%r8
1401cae4b:	4c 89 6b 10          	mov    %r13,0x10(%rbx)
1401cae4f:	4c 8b f0             	mov    %rax,%r14
1401cae52:	48 8b c8             	mov    %rax,%rcx
1401cae55:	49 8d 3c 00          	lea    (%r8,%rax,1),%rdi
1401cae59:	49 83 fc 08          	cmp    $0x8,%r12
1401cae5d:	72 5c                	jb     0x1401caebb
1401cae5f:	48 8b 2b             	mov    (%rbx),%rbp
1401cae62:	48 8b d5             	mov    %rbp,%rdx
1401cae65:	e8 be 1b 13 00       	call   0x1402fca28
1401cae6a:	48 85 f6             	test   %rsi,%rsi
1401cae6d:	74 0b                	je     0x1401cae7a
1401cae6f:	0f b7 44 24 60       	movzwl 0x60(%rsp),%eax
1401cae74:	48 8b ce             	mov    %rsi,%rcx
1401cae77:	66 f3 ab             	rep stos %ax,%es:(%rdi)
1401cae7a:	33 c0                	xor    %eax,%eax
1401cae7c:	4a 8d 14 65 02 00 00 	lea    0x2(,%r12,2),%rdx
1401cae83:	00
1401cae84:	66 43 89 04 6e       	mov    %ax,(%r14,%r13,2)
1401cae89:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401cae90:	72 18                	jb     0x1401caeaa
1401cae92:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1401cae96:	48 83 c2 27          	add    $0x27,%rdx
1401cae9a:	48 2b e9             	sub    %rcx,%rbp
1401cae9d:	48 8d 45 f8          	lea    -0x8(%rbp),%rax
1401caea1:	48 83 f8 1f          	cmp    $0x1f,%rax
1401caea5:	77 0d                	ja     0x1401caeb4
1401caea7:	48 8b e9             	mov    %rcx,%rbp
1401caeaa:	48 8b cd             	mov    %rbp,%rcx
1401caead:	e8 d2 f3 12 00       	call   0x1402fa284
1401caeb2:	eb 24                	jmp    0x1401caed8
1401caeb4:	ff 15 3e f1 15 00    	call   *0x15f13e(%rip)        # 0x140329ff8
1401caeba:	cc                   	int3
1401caebb:	48 8b d3             	mov    %rbx,%rdx
1401caebe:	e8 65 1b 13 00       	call   0x1402fca28
1401caec3:	48 85 f6             	test   %rsi,%rsi
1401caec6:	74 09                	je     0x1401caed1
1401caec8:	48 8b c5             	mov    %rbp,%rax
1401caecb:	48 8b ce             	mov    %rsi,%rcx
1401caece:	66 f3 ab             	rep stos %ax,%es:(%rdi)
1401caed1:	33 c0                	xor    %eax,%eax
1401caed3:	66 43 89 04 6e       	mov    %ax,(%r14,%r13,2)
1401caed8:	4c 89 33             	mov    %r14,(%rbx)
1401caedb:	4c 8b 6c 24 50       	mov    0x50(%rsp),%r13
1401caee0:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
1401caee5:	48 8b c3             	mov    %rbx,%rax
1401caee8:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1401caeed:	48 83 c4 20          	add    $0x20,%rsp
1401caef1:	41 5f                	pop    %r15
1401caef3:	41 5c                	pop    %r12
1401caef5:	5f                   	pop    %rdi
1401caef6:	5e                   	pop    %rsi
1401caef7:	5d                   	pop    %rbp
1401caef8:	c3                   	ret
1401caef9:	e8 42 d1 eb ff       	call   0x140088040
1401caefe:	cc                   	int3
1401caeff:	cc                   	int3
1401caf00:	40 53                	rex push %rbx
1401caf02:	48 83 ec 20          	sub    $0x20,%rsp
1401caf06:	4d 8b c8             	mov    %r8,%r9
1401caf09:	48 8b d9             	mov    %rcx,%rbx
1401caf0c:	4c 8b 41 10          	mov    0x10(%rcx),%r8
1401caf10:	4c 3b c2             	cmp    %rdx,%r8
1401caf13:	72 42                	jb     0x1401caf57
1401caf15:	49 8b c0             	mov    %r8,%rax
1401caf18:	48 2b c2             	sub    %rdx,%rax
1401caf1b:	49 3b c1             	cmp    %r9,%rax
1401caf1e:	4c 0f 42 c8          	cmovb  %rax,%r9
1401caf22:	48 83 79 18 08       	cmpq   $0x8,0x18(%rcx)
1401caf27:	48 8b c1             	mov    %rcx,%rax
1401caf2a:	72 03                	jb     0x1401caf2f
1401caf2c:	48 8b 01             	mov    (%rcx),%rax
1401caf2f:	4d 2b c1             	sub    %r9,%r8
1401caf32:	48 8d 0c 50          	lea    (%rax,%rdx,2),%rcx
1401caf36:	4c 89 43 10          	mov    %r8,0x10(%rbx)
1401caf3a:	4c 2b c2             	sub    %rdx,%r8
1401caf3d:	4a 8d 14 49          	lea    (%rcx,%r9,2),%rdx
1401caf41:	4e 8d 04 45 02 00 00 	lea    0x2(,%r8,2),%r8
1401caf48:	00
1401caf49:	e8 e0 1a 13 00       	call   0x1402fca2e
1401caf4e:	48 8b c3             	mov    %rbx,%rax
1401caf51:	48 83 c4 20          	add    $0x20,%rsp
1401caf55:	5b                   	pop    %rbx
1401caf56:	c3                   	ret
1401caf57:	e8 a4 66 ef ff       	call   0x1400c1600
1401caf5c:	cc                   	int3
1401caf5d:	cc                   	int3
1401caf5e:	cc                   	int3
1401caf5f:	cc                   	int3
1401caf60:	48 81 ec 38 01 00 00 	sub    $0x138,%rsp
1401caf67:	41 b9 4c 00 00 00    	mov    $0x4c,%r9d
1401caf6d:	c7 44 24 20 04 00 00 	movl   $0x4,0x20(%rsp)
1401caf74:	00
1401caf75:	4c 8d 05 64 ef 17 00 	lea    0x17ef64(%rip),%r8        # 0x140349ee0
1401caf7c:	48 8d 15 ed ef 17 00 	lea    0x17efed(%rip),%rdx        # 0x140349f70
1401caf83:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1401caf88:	e8 d3 8e 14 00       	call   0x140313e60
1401caf8d:	48 8b c8             	mov    %rax,%rcx
1401caf90:	48 8d 15 29 ef 17 00 	lea    0x17ef29(%rip),%rdx        # 0x140349ec0
1401caf97:	e8 14 e4 eb ff       	call   0x1400893b0
1401caf9c:	48 8b c8             	mov    %rax,%rcx
1401caf9f:	48 8d 15 56 ea 17 00 	lea    0x17ea56(%rip),%rdx        # 0x1403499fc
1401cafa6:	e8 05 e4 eb ff       	call   0x1400893b0
1401cafab:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1401cafb0:	e8 fb 91 14 00       	call   0x1403141b0
1401cafb5:	33 c0                	xor    %eax,%eax
1401cafb7:	48 81 c4 38 01 00 00 	add    $0x138,%rsp
1401cafbe:	c3                   	ret
1401cafbf:	cc                   	int3
1401cafc0:	40 53                	rex push %rbx
1401cafc2:	55                   	push   %rbp
1401cafc3:	57                   	push   %rdi
1401cafc4:	41 56                	push   %r14
1401cafc6:	48 83 ec 28          	sub    $0x28,%rsp
1401cafca:	4c 8b 11             	mov    (%rcx),%r10
1401cafcd:	4c 8b ca             	mov    %rdx,%r9
1401cafd0:	48 8b fa             	mov    %rdx,%rdi
1401cafd3:	49 bb 25 49 92 24 49 	movabs $0x4924924924924925,%r11
1401cafda:	92 24 49
1401cafdd:	4d 2b ca             	sub    %r10,%r9
1401cafe0:	4c 8b f1             	mov    %rcx,%r14
1401cafe3:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1401cafe7:	49 8b c3             	mov    %r11,%rax
1401cafea:	49 f7 e9             	imul   %r9
1401cafed:	49 2b ca             	sub    %r10,%rcx
1401caff0:	49 8b e8             	mov    %r8,%rbp
1401caff3:	48 8b da             	mov    %rdx,%rbx
1401caff6:	49 b8 49 92 24 49 92 	movabs $0x249249249249249,%r8
1401caffd:	24 49 02
1401cb000:	48 c1 fb 05          	sar    $0x5,%rbx
1401cb004:	48 8b c3             	mov    %rbx,%rax
1401cb007:	48 c1 e8 3f          	shr    $0x3f,%rax
1401cb00b:	48 03 d8             	add    %rax,%rbx
1401cb00e:	49 8b c3             	mov    %r11,%rax
1401cb011:	48 f7 e9             	imul   %rcx
1401cb014:	48 c1 fa 05          	sar    $0x5,%rdx
1401cb018:	48 8b c2             	mov    %rdx,%rax
1401cb01b:	48 c1 e8 3f          	shr    $0x3f,%rax
1401cb01f:	48 03 d0             	add    %rax,%rdx
1401cb022:	49 3b d0             	cmp    %r8,%rdx
1401cb025:	0f 84 3e 02 00 00    	je     0x1401cb269
1401cb02b:	49 8b 4e 10          	mov    0x10(%r14),%rcx
1401cb02f:	49 8b c3             	mov    %r11,%rax
1401cb032:	49 2b ca             	sub    %r10,%rcx
1401cb035:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
1401cb03a:	4c 8d 62 01          	lea    0x1(%rdx),%r12
1401cb03e:	48 f7 e9             	imul   %rcx
1401cb041:	48 c1 fa 05          	sar    $0x5,%rdx
1401cb045:	48 8b c2             	mov    %rdx,%rax
1401cb048:	48 c1 e8 3f          	shr    $0x3f,%rax
1401cb04c:	48 03 d0             	add    %rax,%rdx
1401cb04f:	49 8b c0             	mov    %r8,%rax
1401cb052:	48 8b ca             	mov    %rdx,%rcx
1401cb055:	48 d1 e9             	shr    $1,%rcx
1401cb058:	48 2b c1             	sub    %rcx,%rax
1401cb05b:	48 3b d0             	cmp    %rax,%rdx
1401cb05e:	76 05                	jbe    0x1401cb065
1401cb060:	49 8b c4             	mov    %r12,%rax
1401cb063:	eb 0b                	jmp    0x1401cb070
1401cb065:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
1401cb069:	49 3b c4             	cmp    %r12,%rax
1401cb06c:	49 0f 42 c4          	cmovb  %r12,%rax
1401cb070:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
1401cb075:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
1401cb07a:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1401cb07f:	49 3b c0             	cmp    %r8,%rax
1401cb082:	0f 87 e7 01 00 00    	ja     0x1401cb26f
1401cb088:	4c 6b f8 70          	imul   $0x70,%rax,%r15
1401cb08c:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
1401cb093:	72 29                	jb     0x1401cb0be
1401cb095:	49 8d 4f 27          	lea    0x27(%r15),%rcx
1401cb099:	49 3b cf             	cmp    %r15,%rcx
1401cb09c:	0f 86 cd 01 00 00    	jbe    0x1401cb26f
1401cb0a2:	e8 a1 f1 12 00       	call   0x1402fa248
1401cb0a7:	48 85 c0             	test   %rax,%rax
1401cb0aa:	0f 84 b2 01 00 00    	je     0x1401cb262
1401cb0b0:	48 8d 70 27          	lea    0x27(%rax),%rsi
1401cb0b4:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
1401cb0b8:	48 89 46 f8          	mov    %rax,-0x8(%rsi)