140390a60:	48 8b cb             	mov    %rbx,%rcx
140390a63:	e8 88 29 00 00       	call   0x1403933f0
140390a68:	48 83 c3 28          	add    $0x28,%rbx
140390a6c:	48 3b de             	cmp    %rsi,%rbx
140390a6f:	75 ef                	jne    0x140390a60
140390a71:	4c 8b 07             	mov    (%rdi),%r8
140390a74:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140390a78:	49 2b c8             	sub    %r8,%rcx
140390a7b:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140390a82:	66 66 66
140390a85:	48 f7 e9             	imul   %rcx
140390a88:	48 c1 fa 04          	sar    $0x4,%rdx
140390a8c:	48 8b c2             	mov    %rdx,%rax
140390a8f:	48 c1 e8 3f          	shr    $0x3f,%rax
140390a93:	48 03 d0             	add    %rax,%rdx
140390a96:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140390a9a:	48 c1 e2 03          	shl    $0x3,%rdx
140390a9e:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140390aa5:	72 18                	jb     0x140390abf
140390aa7:	48 83 c2 27          	add    $0x27,%rdx
140390aab:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140390aaf:	4c 2b c1             	sub    %rcx,%r8
140390ab2:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140390ab6:	48 83 f8 1f          	cmp    $0x1f,%rax
140390aba:	77 31                	ja     0x140390aed
140390abc:	4c 8b c1             	mov    %rcx,%r8
140390abf:	49 8b c8             	mov    %r8,%rcx
140390ac2:	e8 7d a6 a8 00       	call   0x140e1b144
140390ac7:	48 89 2f             	mov    %rbp,(%rdi)
140390aca:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140390ace:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
140390ad2:	49 8b c6             	mov    %r14,%rax
140390ad5:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
140390adc:	00
140390add:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140390ae1:	49 8b 6b 38          	mov    0x38(%r11),%rbp
140390ae5:	49 8b e3             	mov    %r11,%rsp
140390ae8:	41 5e                	pop    %r14
140390aea:	5f                   	pop    %rdi
140390aeb:	5e                   	pop    %rsi
140390aec:	c3                   	ret
140390aed:	e8 b2 96 a9 00       	call   0x140e2a1a4
140390af2:	cc                   	int3
140390af3:	cc                   	int3
140390af4:	cc                   	int3
140390af5:	cc                   	int3
140390af6:	cc                   	int3
140390af7:	cc                   	int3
140390af8:	cc                   	int3
140390af9:	cc                   	int3
140390afa:	cc                   	int3
140390afb:	cc                   	int3
140390afc:	cc                   	int3
140390afd:	cc                   	int3
140390afe:	cc                   	int3
140390aff:	cc                   	int3
140390b00:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140390b05:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140390b0a:	53                   	push   %rbx
140390b0b:	55                   	push   %rbp
140390b0c:	56                   	push   %rsi
140390b0d:	57                   	push   %rdi
140390b0e:	41 56                	push   %r14
140390b10:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140390b17:	48 8b fa             	mov    %rdx,%rdi
140390b1a:	4c 8b f1             	mov    %rcx,%r14
140390b1d:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140390b21:	33 ed                	xor    %ebp,%ebp
140390b23:	48 89 6a 10          	mov    %rbp,0x10(%rdx)
140390b27:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140390b2b:	48 89 6a 08          	mov    %rbp,0x8(%rdx)
140390b2f:	48 8b 02             	mov    (%rdx),%rax
140390b32:	48 89 2a             	mov    %rbp,(%rdx)
140390b35:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140390b3a:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140390b3f:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140390b44:	48 83 c2 18          	add    $0x18,%rdx
140390b48:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140390b4d:	e8 be 1e 00 00       	call   0x140392a10
140390b52:	48 8b 47 68          	mov    0x68(%rdi),%rax
140390b56:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140390b5a:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140390b61:	00
140390b62:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
140390b67:	48 89 84 24 e0 00 00 	mov    %rax,0xe0(%rsp)
140390b6e:	00
140390b6f:	48 8d 05 5a 29 c5 00 	lea    0xc5295a(%rip),%rax        # 0x140fe34d0
140390b76:	49 89 06             	mov    %rax,(%r14)
140390b79:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140390b7e:	48 8d 8c 24 d0 00 00 	lea    0xd0(%rsp),%rcx
140390b85:	00
140390b86:	e8 25 10 00 00       	call   0x140391bb0
140390b8b:	48 8b 08             	mov    (%rax),%rcx
140390b8e:	48 89 28             	mov    %rbp,(%rax)
140390b91:	49 89 4e 08          	mov    %rcx,0x8(%r14)
140390b95:	48 8b 08             	mov    (%rax),%rcx
140390b98:	48 85 c9             	test   %rcx,%rcx
140390b9b:	74 1a                	je     0x140390bb7
140390b9d:	48 83 69 08 01       	subq   $0x1,0x8(%rcx)
140390ba2:	75 13                	jne    0x140390bb7
140390ba4:	48 8b 01             	mov    (%rcx),%rax
140390ba7:	ba 01 00 00 00       	mov    $0x1,%edx
140390bac:	48 8b 40 28          	mov    0x28(%rax),%rax
140390bb0:	ff 15 6a 2e bf 00    	call   *0xbf2e6a(%rip)        # 0x140f83a20
140390bb6:	90                   	nop
140390bb7:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140390bbe:	00
140390bbf:	48 85 c9             	test   %rcx,%rcx
140390bc2:	74 10                	je     0x140390bd4
140390bc4:	48 83 29 01          	subq   $0x1,(%rcx)
140390bc8:	75 0a                	jne    0x140390bd4
140390bca:	ba 18 00 00 00       	mov    $0x18,%edx
140390bcf:	e8 70 a5 a8 00       	call   0x140e1b144
140390bd4:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140390bd9:	e8 82 77 e0 ff       	call   0x140198360
140390bde:	80 7c 24 68 00       	cmpb   $0x0,0x68(%rsp)
140390be3:	74 0a                	je     0x140390bef
140390be5:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140390bea:	e8 11 c9 e0 ff       	call   0x14019d500
140390bef:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140390bf4:	e8 a7 2e 00 00       	call   0x140393aa0
140390bf9:	48 8d 05 e0 28 c5 00 	lea    0xc528e0(%rip),%rax        # 0x140fe34e0
140390c00:	49 89 06             	mov    %rax,(%r14)
140390c03:	41 c6 86 a0 00 00 00 	movb   $0x0,0xa0(%r14)
140390c0a:	00
140390c0b:	41 c6 86 38 01 00 00 	movb   $0x0,0x138(%r14)
140390c12:	00
140390c13:	41 c6 86 d0 01 00 00 	movb   $0x0,0x1d0(%r14)
140390c1a:	00
140390c1b:	49 89 ae d8 01 00 00 	mov    %rbp,0x1d8(%r14)
140390c22:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140390c26:	48 85 c9             	test   %rcx,%rcx
140390c29:	74 10                	je     0x140390c3b
140390c2b:	48 83 29 01          	subq   $0x1,(%rcx)
140390c2f:	75 0a                	jne    0x140390c3b
140390c31:	ba 18 00 00 00       	mov    $0x18,%edx
140390c36:	e8 09 a5 a8 00       	call   0x140e1b144
140390c3b:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140390c3f:	e8 1c 77 e0 ff       	call   0x140198360
140390c44:	80 7f 48 00          	cmpb   $0x0,0x48(%rdi)
140390c48:	74 09                	je     0x140390c53
140390c4a:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140390c4e:	e8 ad c8 e0 ff       	call   0x14019d500
140390c53:	48 8b 1f             	mov    (%rdi),%rbx
140390c56:	48 85 db             	test   %rbx,%rbx
140390c59:	74 7b                	je     0x140390cd6
140390c5b:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140390c5f:	48 3b de             	cmp    %rsi,%rbx
140390c62:	74 11                	je     0x140390c75
140390c64:	48 8b cb             	mov    %rbx,%rcx
140390c67:	e8 84 27 00 00       	call   0x1403933f0
140390c6c:	48 83 c3 28          	add    $0x28,%rbx
140390c70:	48 3b de             	cmp    %rsi,%rbx
140390c73:	75 ef                	jne    0x140390c64
140390c75:	4c 8b 07             	mov    (%rdi),%r8
140390c78:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140390c7c:	49 2b c8             	sub    %r8,%rcx
140390c7f:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140390c86:	66 66 66
140390c89:	48 f7 e9             	imul   %rcx
140390c8c:	48 c1 fa 04          	sar    $0x4,%rdx
140390c90:	48 8b c2             	mov    %rdx,%rax
140390c93:	48 c1 e8 3f          	shr    $0x3f,%rax
140390c97:	48 03 d0             	add    %rax,%rdx
140390c9a:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140390c9e:	48 c1 e2 03          	shl    $0x3,%rdx
140390ca2:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140390ca9:	72 18                	jb     0x140390cc3
140390cab:	48 83 c2 27          	add    $0x27,%rdx
140390caf:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140390cb3:	4c 2b c1             	sub    %rcx,%r8
140390cb6:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140390cba:	48 83 f8 1f          	cmp    $0x1f,%rax
140390cbe:	77 27                	ja     0x140390ce7
140390cc0:	4c 8b c1             	mov    %rcx,%r8
140390cc3:	49 8b c8             	mov    %r8,%rcx
140390cc6:	e8 79 a4 a8 00       	call   0x140e1b144
140390ccb:	48 89 2f             	mov    %rbp,(%rdi)
140390cce:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140390cd2:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
140390cd6:	49 8b c6             	mov    %r14,%rax
140390cd9:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
140390ce0:	41 5e                	pop    %r14
140390ce2:	5f                   	pop    %rdi
140390ce3:	5e                   	pop    %rsi
140390ce4:	5d                   	pop    %rbp
140390ce5:	5b                   	pop    %rbx
140390ce6:	c3                   	ret
140390ce7:	e8 b8 94 a9 00       	call   0x140e2a1a4
140390cec:	cc                   	int3
140390ced:	cc                   	int3
140390cee:	cc                   	int3
140390cef:	cc                   	int3
140390cf0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140390cf5:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140390cfa:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140390cff:	56                   	push   %rsi
140390d00:	57                   	push   %rdi
140390d01:	41 56                	push   %r14
140390d03:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140390d0a:	48 8b fa             	mov    %rdx,%rdi
140390d0d:	4c 8b f1             	mov    %rcx,%r14
140390d10:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140390d14:	33 ed                	xor    %ebp,%ebp
140390d16:	48 89 6a 10          	mov    %rbp,0x10(%rdx)
140390d1a:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140390d1e:	48 89 6a 08          	mov    %rbp,0x8(%rdx)
140390d22:	48 8b 02             	mov    (%rdx),%rax
140390d25:	48 89 2a             	mov    %rbp,(%rdx)
140390d28:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140390d2d:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140390d32:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140390d37:	48 83 c2 18          	add    $0x18,%rdx
140390d3b:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140390d40:	e8 cb 1c 00 00       	call   0x140392a10
140390d45:	48 8b 47 68          	mov    0x68(%rdi),%rax
140390d49:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140390d4d:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140390d54:	00
140390d55:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140390d5a:	49 8b ce             	mov    %r14,%rcx
140390d5d:	e8 9e fd ff ff       	call   0x140390b00
140390d62:	48 8d 05 87 27 c5 00 	lea    0xc52787(%rip),%rax        # 0x140fe34f0
140390d69:	49 89 06             	mov    %rax,(%r14)
140390d6c:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140390d70:	48 85 c9             	test   %rcx,%rcx
140390d73:	74 10                	je     0x140390d85
140390d75:	48 83 29 01          	subq   $0x1,(%rcx)
140390d79:	75 0a                	jne    0x140390d85
140390d7b:	ba 18 00 00 00       	mov    $0x18,%edx
140390d80:	e8 bf a3 a8 00       	call   0x140e1b144
140390d85:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140390d89:	e8 d2 75 e0 ff       	call   0x140198360
140390d8e:	80 7f 48 00          	cmpb   $0x0,0x48(%rdi)
140390d92:	74 09                	je     0x140390d9d
140390d94:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140390d98:	e8 63 c7 e0 ff       	call   0x14019d500
140390d9d:	48 8b 1f             	mov    (%rdi),%rbx
140390da0:	48 85 db             	test   %rbx,%rbx
140390da3:	74 7d                	je     0x140390e22
140390da5:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140390da9:	48 3b de             	cmp    %rsi,%rbx
140390dac:	74 13                	je     0x140390dc1
140390dae:	66 90                	xchg   %ax,%ax
140390db0:	48 8b cb             	mov    %rbx,%rcx
140390db3:	e8 38 26 00 00       	call   0x1403933f0
140390db8:	48 83 c3 28          	add    $0x28,%rbx
140390dbc:	48 3b de             	cmp    %rsi,%rbx
140390dbf:	75 ef                	jne    0x140390db0
140390dc1:	4c 8b 07             	mov    (%rdi),%r8
140390dc4:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140390dc8:	49 2b c8             	sub    %r8,%rcx
140390dcb:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140390dd2:	66 66 66
140390dd5:	48 f7 e9             	imul   %rcx
140390dd8:	48 c1 fa 04          	sar    $0x4,%rdx
140390ddc:	48 8b c2             	mov    %rdx,%rax
140390ddf:	48 c1 e8 3f          	shr    $0x3f,%rax
140390de3:	48 03 d0             	add    %rax,%rdx
140390de6:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140390dea:	48 c1 e2 03          	shl    $0x3,%rdx
140390dee:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140390df5:	72 18                	jb     0x140390e0f
140390df7:	48 83 c2 27          	add    $0x27,%rdx
140390dfb:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140390dff:	4c 2b c1             	sub    %rcx,%r8
140390e02:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140390e06:	48 83 f8 1f          	cmp    $0x1f,%rax
140390e0a:	77 31                	ja     0x140390e3d
140390e0c:	4c 8b c1             	mov    %rcx,%r8
140390e0f:	49 8b c8             	mov    %r8,%rcx
140390e12:	e8 2d a3 a8 00       	call   0x140e1b144
140390e17:	48 89 2f             	mov    %rbp,(%rdi)
140390e1a:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140390e1e:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
140390e22:	49 8b c6             	mov    %r14,%rax
140390e25:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
140390e2c:	00
140390e2d:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140390e31:	49 8b 6b 38          	mov    0x38(%r11),%rbp
140390e35:	49 8b e3             	mov    %r11,%rsp
140390e38:	41 5e                	pop    %r14
140390e3a:	5f                   	pop    %rdi
140390e3b:	5e                   	pop    %rsi
140390e3c:	c3                   	ret
140390e3d:	e8 62 93 a9 00       	call   0x140e2a1a4
140390e42:	cc                   	int3
140390e43:	cc                   	int3
140390e44:	cc                   	int3
140390e45:	cc                   	int3
140390e46:	cc                   	int3
140390e47:	cc                   	int3
140390e48:	cc                   	int3
140390e49:	cc                   	int3
140390e4a:	cc                   	int3
140390e4b:	cc                   	int3
140390e4c:	cc                   	int3
140390e4d:	cc                   	int3
140390e4e:	cc                   	int3
140390e4f:	cc                   	int3
140390e50:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140390e55:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140390e5a:	53                   	push   %rbx
140390e5b:	55                   	push   %rbp
140390e5c:	56                   	push   %rsi
140390e5d:	57                   	push   %rdi
140390e5e:	41 56                	push   %r14
140390e60:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140390e67:	48 8b fa             	mov    %rdx,%rdi
140390e6a:	4c 8b f1             	mov    %rcx,%r14
140390e6d:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140390e71:	33 ed                	xor    %ebp,%ebp
140390e73:	48 89 6a 10          	mov    %rbp,0x10(%rdx)
140390e77:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140390e7b:	48 89 6a 08          	mov    %rbp,0x8(%rdx)
140390e7f:	48 8b 02             	mov    (%rdx),%rax
140390e82:	48 89 2a             	mov    %rbp,(%rdx)
140390e85:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140390e8a:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140390e8f:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140390e94:	48 83 c2 18          	add    $0x18,%rdx
140390e98:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140390e9d:	e8 6e 1b 00 00       	call   0x140392a10
140390ea2:	48 8b 47 68          	mov    0x68(%rdi),%rax
140390ea6:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140390eaa:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140390eb1:	00
140390eb2:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
140390eb7:	48 89 84 24 d0 00 00 	mov    %rax,0xd0(%rsp)
140390ebe:	00
140390ebf:	48 8d 05 0a 26 c5 00 	lea    0xc5260a(%rip),%rax        # 0x140fe34d0
140390ec6:	49 89 06             	mov    %rax,(%r14)
140390ec9:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140390ece:	48 8d 8c 24 c0 00 00 	lea    0xc0(%rsp),%rcx
140390ed5:	00
140390ed6:	e8 75 0e 00 00       	call   0x140391d50
140390edb:	48 8b 08             	mov    (%rax),%rcx
140390ede:	48 89 28             	mov    %rbp,(%rax)
140390ee1:	49 89 4e 08          	mov    %rcx,0x8(%r14)
140390ee5:	48 8b 08             	mov    (%rax),%rcx
140390ee8:	48 85 c9             	test   %rcx,%rcx
140390eeb:	74 1a                	je     0x140390f07
140390eed:	48 83 69 08 01       	subq   $0x1,0x8(%rcx)
140390ef2:	75 13                	jne    0x140390f07
140390ef4:	48 8b 01             	mov    (%rcx),%rax
140390ef7:	ba 01 00 00 00       	mov    $0x1,%edx
140390efc:	48 8b 40 28          	mov    0x28(%rax),%rax
140390f00:	ff 15 1a 2b bf 00    	call   *0xbf2b1a(%rip)        # 0x140f83a20
140390f06:	90                   	nop
140390f07:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx