140001b19:	44 89 05 74 45 01 00 	mov    %r8d,0x14574(%rip)        # 0x140016094
140001b20:	eb 07                	jmp    0x140001b29
140001b22:	44 8b 05 6b 45 01 00 	mov    0x1456b(%rip),%r8d        # 0x140016094
140001b29:	45 33 c9             	xor    %r9d,%r9d
140001b2c:	41 8b f1             	mov    %r9d,%esi
140001b2f:	45 8b d9             	mov    %r9d,%r11d
140001b32:	45 8b d1             	mov    %r9d,%r10d
140001b35:	41 83 fe 07          	cmp    $0x7,%r14d
140001b39:	7c 65                	jl     0x140001ba0
140001b3b:	41 8d 41 07          	lea    0x7(%r9),%eax
140001b3f:	33 c9                	xor    %ecx,%ecx
140001b41:	0f a2                	cpuid
140001b43:	89 45 f0             	mov    %eax,-0x10(%rbp)
140001b46:	8b f2                	mov    %edx,%esi
140001b48:	89 5d f4             	mov    %ebx,-0xc(%rbp)
140001b4b:	44 8b cb             	mov    %ebx,%r9d
140001b4e:	89 4d f8             	mov    %ecx,-0x8(%rbp)
140001b51:	89 55 fc             	mov    %edx,-0x4(%rbp)
140001b54:	0f ba e3 09          	bt     $0x9,%ebx
140001b58:	73 0b                	jae    0x140001b65
140001b5a:	41 83 c8 02          	or     $0x2,%r8d
140001b5e:	44 89 05 2f 45 01 00 	mov    %r8d,0x1452f(%rip)        # 0x140016094
140001b65:	83 f8 01             	cmp    $0x1,%eax
140001b68:	7c 19                	jl     0x140001b83
140001b6a:	b8 07 00 00 00       	mov    $0x7,%eax
140001b6f:	8d 48 fa             	lea    -0x6(%rax),%ecx
140001b72:	0f a2                	cpuid
140001b74:	44 8b da             	mov    %edx,%r11d
140001b77:	89 45 f0             	mov    %eax,-0x10(%rbp)
140001b7a:	89 5d f4             	mov    %ebx,-0xc(%rbp)
140001b7d:	89 4d f8             	mov    %ecx,-0x8(%rbp)
140001b80:	89 55 fc             	mov    %edx,-0x4(%rbp)
140001b83:	b8 24 00 00 00       	mov    $0x24,%eax
140001b88:	44 3b f0             	cmp    %eax,%r14d
140001b8b:	7c 13                	jl     0x140001ba0
140001b8d:	33 c9                	xor    %ecx,%ecx
140001b8f:	0f a2                	cpuid
140001b91:	44 8b d3             	mov    %ebx,%r10d
140001b94:	89 45 f0             	mov    %eax,-0x10(%rbp)
140001b97:	89 5d f4             	mov    %ebx,-0xc(%rbp)
140001b9a:	89 4d f8             	mov    %ecx,-0x8(%rbp)
140001b9d:	89 55 fc             	mov    %edx,-0x4(%rbp)
140001ba0:	48 8b 05 e1 34 01 00 	mov    0x134e1(%rip),%rax        # 0x140015088
140001ba7:	bb 06 00 00 00       	mov    $0x6,%ebx
140001bac:	48 83 e0 fe          	and    $0xfffffffffffffffe,%rax
140001bb0:	c7 05 d6 34 01 00 01 	movl   $0x1,0x134d6(%rip)        # 0x140015090
140001bb7:	00 00 00
140001bba:	c7 05 d0 34 01 00 02 	movl   $0x2,0x134d0(%rip)        # 0x140015094
140001bc1:	00 00 00
140001bc4:	48 89 05 bd 34 01 00 	mov    %rax,0x134bd(%rip)        # 0x140015088
140001bcb:	0f ba e7 14          	bt     $0x14,%edi
140001bcf:	73 1b                	jae    0x140001bec
140001bd1:	48 83 e0 ef          	and    $0xffffffffffffffef,%rax
140001bd5:	c7 05 b1 34 01 00 02 	movl   $0x2,0x134b1(%rip)        # 0x140015090
140001bdc:	00 00 00
140001bdf:	48 89 05 a2 34 01 00 	mov    %rax,0x134a2(%rip)        # 0x140015088
140001be6:	89 1d a8 34 01 00    	mov    %ebx,0x134a8(%rip)        # 0x140015094
140001bec:	0f ba e7 1b          	bt     $0x1b,%edi
140001bf0:	0f 83 2b 01 00 00    	jae    0x140001d21
140001bf6:	33 c9                	xor    %ecx,%ecx
140001bf8:	0f 01 d0             	xgetbv
140001bfb:	48 c1 e2 20          	shl    $0x20,%rdx
140001bff:	48 0b d0             	or     %rax,%rdx
140001c02:	48 89 55 20          	mov    %rdx,0x20(%rbp)
140001c06:	0f ba e7 1c          	bt     $0x1c,%edi
140001c0a:	0f 83 f6 00 00 00    	jae    0x140001d06
140001c10:	48 8b 45 20          	mov    0x20(%rbp),%rax
140001c14:	22 c3                	and    %bl,%al
140001c16:	3a c3                	cmp    %bl,%al
140001c18:	0f 85 e8 00 00 00    	jne    0x140001d06
140001c1e:	8b 05 70 34 01 00    	mov    0x13470(%rip),%eax        # 0x140015094
140001c24:	b2 e0                	mov    $0xe0,%dl
140001c26:	83 c8 08             	or     $0x8,%eax
140001c29:	c7 05 5d 34 01 00 03 	movl   $0x3,0x1345d(%rip)        # 0x140015090
140001c30:	00 00 00
140001c33:	89 05 5b 34 01 00    	mov    %eax,0x1345b(%rip)        # 0x140015094
140001c39:	41 f6 c1 20          	test   $0x20,%r9b
140001c3d:	74 5d                	je     0x140001c9c
140001c3f:	83 c8 20             	or     $0x20,%eax
140001c42:	c7 05 44 34 01 00 05 	movl   $0x5,0x13444(%rip)        # 0x140015090
140001c49:	00 00 00
140001c4c:	89 05 42 34 01 00    	mov    %eax,0x13442(%rip)        # 0x140015094
140001c52:	b9 00 00 03 d0       	mov    $0xd0030000,%ecx
140001c57:	48 8b 05 2a 34 01 00 	mov    0x1342a(%rip),%rax        # 0x140015088
140001c5e:	44 23 c9             	and    %ecx,%r9d
140001c61:	48 83 e0 fd          	and    $0xfffffffffffffffd,%rax
140001c65:	48 89 05 1c 34 01 00 	mov    %rax,0x1341c(%rip)        # 0x140015088
140001c6c:	44 3b c9             	cmp    %ecx,%r9d
140001c6f:	75 32                	jne    0x140001ca3
140001c71:	48 8b 45 20          	mov    0x20(%rbp),%rax
140001c75:	22 c2                	and    %dl,%al
140001c77:	3a c2                	cmp    %dl,%al
140001c79:	75 21                	jne    0x140001c9c
140001c7b:	48 8b 05 06 34 01 00 	mov    0x13406(%rip),%rax        # 0x140015088
140001c82:	83 0d 0b 34 01 00 40 	orl    $0x40,0x1340b(%rip)        # 0x140015094
140001c89:	48 83 e0 db          	and    $0xffffffffffffffdb,%rax
140001c8d:	89 1d fd 33 01 00    	mov    %ebx,0x133fd(%rip)        # 0x140015090
140001c93:	48 89 05 ee 33 01 00 	mov    %rax,0x133ee(%rip)        # 0x140015088
140001c9a:	eb 07                	jmp    0x140001ca3
140001c9c:	48 8b 05 e5 33 01 00 	mov    0x133e5(%rip),%rax        # 0x140015088
140001ca3:	0f ba e6 17          	bt     $0x17,%esi
140001ca7:	73 0c                	jae    0x140001cb5
140001ca9:	48 0f ba f0 18       	btr    $0x18,%rax
140001cae:	48 89 05 d3 33 01 00 	mov    %rax,0x133d3(%rip)        # 0x140015088
140001cb5:	41 0f ba e3 13       	bt     $0x13,%r11d
140001cba:	73 4a                	jae    0x140001d06
140001cbc:	48 8b 45 20          	mov    0x20(%rbp),%rax
140001cc0:	22 c2                	and    %dl,%al
140001cc2:	3a c2                	cmp    %dl,%al
140001cc4:	75 40                	jne    0x140001d06
140001cc6:	41 8b ca             	mov    %r10d,%ecx
140001cc9:	41 8b c2             	mov    %r10d,%eax
140001ccc:	48 c1 e9 10          	shr    $0x10,%rcx
140001cd0:	25 ff 00 04 00       	and    $0x400ff,%eax
140001cd5:	83 e1 07             	and    $0x7,%ecx
140001cd8:	89 05 b2 43 01 00    	mov    %eax,0x143b2(%rip)        # 0x140016090
140001cde:	48 81 c9 28 00 00 01 	or     $0x1000028,%rcx
140001ce5:	48 f7 d1             	not    %rcx
140001ce8:	48 23 0d 99 33 01 00 	and    0x13399(%rip),%rcx        # 0x140015088
140001cef:	48 89 0d 92 33 01 00 	mov    %rcx,0x13392(%rip)        # 0x140015088
140001cf6:	83 f8 01             	cmp    $0x1,%eax
140001cf9:	76 0b                	jbe    0x140001d06
140001cfb:	48 83 e1 bf          	and    $0xffffffffffffffbf,%rcx
140001cff:	48 89 0d 82 33 01 00 	mov    %rcx,0x13382(%rip)        # 0x140015088
140001d06:	41 0f ba e2 15       	bt     $0x15,%r10d
140001d0b:	73 14                	jae    0x140001d21
140001d0d:	48 8b 45 20          	mov    0x20(%rbp),%rax
140001d11:	48 0f ba e0 13       	bt     $0x13,%rax
140001d16:	73 09                	jae    0x140001d21
140001d18:	48 0f ba 35 67 33 01 	btrq   $0x7,0x13367(%rip)        # 0x140015088
140001d1f:	00 07
140001d21:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140001d26:	33 c0                	xor    %eax,%eax
140001d28:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140001d2d:	48 83 c4 10          	add    $0x10,%rsp
140001d31:	41 5e                	pop    %r14
140001d33:	5f                   	pop    %rdi
140001d34:	5d                   	pop    %rbp
140001d35:	c3                   	ret
140001d36:	90                   	nop
140001d37:	90                   	nop
140001d38:	33 c0                	xor    %eax,%eax
140001d3a:	39 05 e8 4e 01 00    	cmp    %eax,0x14ee8(%rip)        # 0x140016c28
140001d40:	0f 95 c0             	setne  %al
140001d43:	c3                   	ret
140001d44:	90                   	nop
140001d45:	90                   	nop
140001d46:	90                   	nop
140001d47:	90                   	nop
140001d48:	90                   	nop
140001d49:	90                   	nop
140001d4a:	90                   	nop
140001d4b:	90                   	nop
140001d4c:	90                   	nop
140001d4d:	90                   	nop
140001d4e:	90                   	nop
140001d4f:	90                   	nop
140001d50:	48 8b c4             	mov    %rsp,%rax
140001d53:	4c 89 48 20          	mov    %r9,0x20(%rax)
140001d57:	4c 89 40 18          	mov    %r8,0x18(%rax)
140001d5b:	48 89 50 10          	mov    %rdx,0x10(%rax)
140001d5f:	48 89 48 08          	mov    %rcx,0x8(%rax)
140001d63:	53                   	push   %rbx
140001d64:	48 83 ec 70          	sub    $0x70,%rsp
140001d68:	48 8b d9             	mov    %rcx,%rbx
140001d6b:	83 60 c8 00          	andl   $0x0,-0x38(%rax)
140001d6f:	48 89 48 e0          	mov    %rcx,-0x20(%rax)
140001d73:	4c 89 40 e8          	mov    %r8,-0x18(%rax)
140001d77:	e8 a4 09 00 00       	call   0x140002720
140001d7c:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140001d81:	8b 0b                	mov    (%rbx),%ecx
140001d83:	48 8b 40 10          	mov    0x10(%rax),%rax
140001d87:	ff 15 e3 c4 00 00    	call   *0xc4e3(%rip)        # 0x14000e270
140001d8d:	c7 44 24 40 00 00 00 	movl   $0x0,0x40(%rsp)
140001d94:	00
140001d95:	eb 00                	jmp    0x140001d97
140001d97:	8b 44 24 40          	mov    0x40(%rsp),%eax
140001d9b:	48 83 c4 70          	add    $0x70,%rsp
140001d9f:	5b                   	pop    %rbx
140001da0:	c3                   	ret
140001da1:	90                   	nop
140001da2:	90                   	nop
140001da3:	90                   	nop
140001da4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140001da9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140001dae:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140001db3:	57                   	push   %rdi
140001db4:	48 83 ec 20          	sub    $0x20,%rsp
140001db8:	8b 79 0c             	mov    0xc(%rcx),%edi
140001dbb:	8b f2                	mov    %edx,%esi
140001dbd:	48 8b e9             	mov    %rcx,%rbp
140001dc0:	85 ff                	test   %edi,%edi
140001dc2:	74 2b                	je     0x140001def
140001dc4:	8d 5f ff             	lea    -0x1(%rdi),%ebx
140001dc7:	8b fb                	mov    %ebx,%edi
140001dc9:	e8 52 09 00 00       	call   0x140002720
140001dce:	48 8d 14 9b          	lea    (%rbx,%rbx,4),%rdx
140001dd2:	48 8b 40 60          	mov    0x60(%rax),%rax
140001dd6:	48 8d 0c 90          	lea    (%rax,%rdx,4),%rcx
140001dda:	48 63 45 10          	movslq 0x10(%rbp),%rax
140001dde:	48 03 c1             	add    %rcx,%rax
140001de1:	3b 70 04             	cmp    0x4(%rax),%esi
140001de4:	7e 05                	jle    0x140001deb
140001de6:	3b 70 08             	cmp    0x8(%rax),%esi
140001de9:	7e 06                	jle    0x140001df1
140001deb:	85 db                	test   %ebx,%ebx
140001ded:	75 d5                	jne    0x140001dc4
140001def:	33 c0                	xor    %eax,%eax
140001df1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140001df6:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140001dfb:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140001e00:	48 83 c4 20          	add    $0x20,%rsp
140001e04:	5f                   	pop    %rdi
140001e05:	c3                   	ret
140001e06:	90                   	nop
140001e07:	90                   	nop
140001e08:	40 53                	rex push %rbx
140001e0a:	48 83 ec 20          	sub    $0x20,%rsp
140001e0e:	48 8b da             	mov    %rdx,%rbx
140001e11:	48 8b d1             	mov    %rcx,%rdx
140001e14:	48 8b cb             	mov    %rbx,%rcx
140001e17:	e8 e8 0a 00 00       	call   0x140002904
140001e1c:	8b d0                	mov    %eax,%edx
140001e1e:	48 8b cb             	mov    %rbx,%rcx
140001e21:	e8 7e ff ff ff       	call   0x140001da4
140001e26:	48 85 c0             	test   %rax,%rax
140001e29:	0f 95 c0             	setne  %al
140001e2c:	48 83 c4 20          	add    $0x20,%rsp
140001e30:	5b                   	pop    %rbx
140001e31:	c3                   	ret
140001e32:	90                   	nop
140001e33:	90                   	nop
140001e34:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140001e39:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140001e3e:	57                   	push   %rdi
140001e3f:	48 83 ec 20          	sub    $0x20,%rsp
140001e43:	4c 8d 4c 24 48       	lea    0x48(%rsp),%r9
140001e48:	49 8b d8             	mov    %r8,%rbx
140001e4b:	48 8b fa             	mov    %rdx,%rdi
140001e4e:	e8 45 00 00 00       	call   0x140001e98
140001e53:	48 8b d7             	mov    %rdi,%rdx
140001e56:	48 8b cb             	mov    %rbx,%rcx
140001e59:	48 8b f0             	mov    %rax,%rsi
140001e5c:	e8 a3 0a 00 00       	call   0x140002904
140001e61:	8b d0                	mov    %eax,%edx
140001e63:	48 8b cb             	mov    %rbx,%rcx
140001e66:	e8 39 ff ff ff       	call   0x140001da4
140001e6b:	48 85 c0             	test   %rax,%rax
140001e6e:	75 06                	jne    0x140001e76
140001e70:	41 83 c9 ff          	or     $0xffffffff,%r9d
140001e74:	eb 04                	jmp    0x140001e7a
140001e76:	44 8b 48 04          	mov    0x4(%rax),%r9d
140001e7a:	4c 8b c3             	mov    %rbx,%r8
140001e7d:	48 8b d7             	mov    %rdi,%rdx
140001e80:	48 8b ce             	mov    %rsi,%rcx
140001e83:	e8 b8 1c 00 00       	call   0x140003b40
140001e88:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140001e8d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140001e92:	48 83 c4 20          	add    $0x20,%rsp
140001e96:	5f                   	pop    %rdi
140001e97:	c3                   	ret
140001e98:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140001e9d:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140001ea2:	56                   	push   %rsi
140001ea3:	57                   	push   %rdi
140001ea4:	41 54                	push   %r12
140001ea6:	41 56                	push   %r14
140001ea8:	41 57                	push   %r15
140001eaa:	48 83 ec 20          	sub    $0x20,%rsp
140001eae:	41 8b 70 0c          	mov    0xc(%r8),%esi
140001eb2:	4c 8b e1             	mov    %rcx,%r12
140001eb5:	49 8b c8             	mov    %r8,%rcx
140001eb8:	49 8b f9             	mov    %r9,%rdi
140001ebb:	4d 8b f0             	mov    %r8,%r14
140001ebe:	4c 8b fa             	mov    %rdx,%r15
140001ec1:	e8 3e 0a 00 00       	call   0x140002904
140001ec6:	4d 8b 14 24          	mov    (%r12),%r10
140001eca:	8b e8                	mov    %eax,%ebp
140001ecc:	4c 89 17             	mov    %r10,(%rdi)
140001ecf:	eb 63                	jmp    0x140001f34
140001ed1:	49 63 46 10          	movslq 0x10(%r14),%rax
140001ed5:	8d 4e ff             	lea    -0x1(%rsi),%ecx
140001ed8:	8b f1                	mov    %ecx,%esi
140001eda:	48 8d 0c 89          	lea    (%rcx,%rcx,4),%rcx
140001ede:	48 8d 1c 88          	lea    (%rax,%rcx,4),%rbx
140001ee2:	49 03 5f 08          	add    0x8(%r15),%rbx
140001ee6:	3b 6b 04             	cmp    0x4(%rbx),%ebp
140001ee9:	7e 49                	jle    0x140001f34
140001eeb:	3b 6b 08             	cmp    0x8(%rbx),%ebp
140001eee:	7f 44                	jg     0x140001f34
140001ef0:	49 8b 0f             	mov    (%r15),%rcx
140001ef3:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140001ef8:	45 33 c0             	xor    %r8d,%r8d
140001efb:	ff 15 2f c1 00 00    	call   *0xc12f(%rip)        # 0x14000e030
140001f01:	4c 63 43 10          	movslq 0x10(%rbx),%r8
140001f05:	33 c9                	xor    %ecx,%ecx
140001f07:	4c 03 44 24 50       	add    0x50(%rsp),%r8
140001f0c:	44 8b 4b 0c          	mov    0xc(%rbx),%r9d
140001f10:	44 8b 10             	mov    (%rax),%r10d
140001f13:	45 85 c9             	test   %r9d,%r9d
140001f16:	74 17                	je     0x140001f2f
140001f18:	49 8d 50 0c          	lea    0xc(%r8),%rdx
140001f1c:	48 63 02             	movslq (%rdx),%rax
140001f1f:	49 3b c2             	cmp    %r10,%rax
140001f22:	74 0b                	je     0x140001f2f
140001f24:	ff c1                	inc    %ecx
140001f26:	48 83 c2 14          	add    $0x14,%rdx
140001f2a:	41 3b c9             	cmp    %r9d,%ecx
140001f2d:	72 ed                	jb     0x140001f1c
140001f2f:	41 3b c9             	cmp    %r9d,%ecx
140001f32:	72 06                	jb     0x140001f3a
140001f34:	85 f6                	test   %esi,%esi
140001f36:	75 99                	jne    0x140001ed1
140001f38:	eb 14                	jmp    0x140001f4e
140001f3a:	49 8b 04 24          	mov    (%r12),%rax
140001f3e:	48 8d 0c 89          	lea    (%rcx,%rcx,4),%rcx
140001f42:	49 63 4c 88 10       	movslq 0x10(%r8,%rcx,4),%rcx
140001f47:	48 8b 0c 01          	mov    (%rcx,%rax,1),%rcx
140001f4b:	48 89 0f             	mov    %rcx,(%rdi)
140001f4e:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140001f53:	48 8b c7             	mov    %rdi,%rax
140001f56:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140001f5b:	48 83 c4 20          	add    $0x20,%rsp
140001f5f:	41 5f                	pop    %r15
140001f61:	41 5e                	pop    %r14
140001f63:	41 5c                	pop    %r12
140001f65:	5f                   	pop    %rdi
140001f66:	5e                   	pop    %rsi
140001f67:	c3                   	ret
140001f68:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140001f6d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140001f72:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140001f77:	57                   	push   %rdi
140001f78:	41 54                	push   %r12
140001f7a:	41 55                	push   %r13
140001f7c:	41 56                	push   %r14
140001f7e:	41 57                	push   %r15
140001f80:	48 83 ec 40          	sub    $0x40,%rsp
140001f84:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
140001f8b:	00
140001f8c:	4c 8b fa             	mov    %rdx,%r15
140001f8f:	48 8b f1             	mov    %rcx,%rsi
140001f92:	49 8b d1             	mov    %r9,%rdx
140001f95:	48 8b cb             	mov    %rbx,%rcx
140001f98:	49 8b f9             	mov    %r9,%rdi
140001f9b:	45 8b f0             	mov    %r8d,%r14d
140001f9e:	8b 6b 0c             	mov    0xc(%rbx),%ebp
140001fa1:	e8 5e 09 00 00       	call   0x140002904
140001fa6:	45 33 d2             	xor    %r10d,%r10d
140001fa9:	44 8b c8             	mov    %eax,%r9d