1800249a4:	f7 05 ca 7e 14 00 00 	testl  $0x100000,0x147eca(%rip)        # 0x18016c878
1800249ab:	00 10 00
1800249ae:	48 89 3d 53 06 18 00 	mov    %rdi,0x180653(%rip)        # 0x1801a5008
1800249b5:	74 28                	je     0x1800249df
1800249b7:	48 8d 3d 62 06 18 00 	lea    0x180662(%rip),%rdi        # 0x1801a5020
1800249be:	48 8b cf             	mov    %rdi,%rcx
1800249c1:	e8 9e 0e 00 00       	call   0x180025864
1800249c6:	85 c0                	test   %eax,%eax
1800249c8:	79 04                	jns    0x1800249ce
1800249ca:	8b d8                	mov    %eax,%ebx
1800249cc:	eb 19                	jmp    0x1800249e7
1800249ce:	85 f6                	test   %esi,%esi
1800249d0:	48 0f 49 3d 30 06 18 	cmovns 0x180630(%rip),%rdi        # 0x1801a5008
1800249d7:	00
1800249d8:	48 89 3d 29 06 18 00 	mov    %rdi,0x180629(%rip)        # 0x1801a5008
1800249df:	48 8b cf             	mov    %rdi,%rcx
1800249e2:	e8 2d 0f 00 00       	call   0x180025914
1800249e7:	e8 34 02 00 00       	call   0x180024c20
1800249ec:	eb 11                	jmp    0x1800249ff
1800249ee:	f7 05 c8 ff 17 00 00 	testl  $0x4000,0x17ffc8(%rip)        # 0x1801a49c0
1800249f5:	40 00 00
1800249f8:	75 05                	jne    0x1800249ff
1800249fa:	e8 3d 00 00 00       	call   0x180024a3c
1800249ff:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180024a04:	8b c3                	mov    %ebx,%eax
180024a06:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180024a0b:	48 83 c4 20          	add    $0x20,%rsp
180024a0f:	5f                   	pop    %rdi
180024a10:	c3                   	ret
180024a11:	cc                   	int3
180024a12:	cc                   	int3
180024a13:	cc                   	int3
180024a14:	48 83 ec 38          	sub    $0x38,%rsp
180024a18:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180024a1d:	33 d2                	xor    %edx,%edx
180024a1f:	33 c9                	xor    %ecx,%ecx
180024a21:	e8 7a f1 10 00       	call   0x180133ba0
180024a26:	0f 31                	rdtsc
180024a28:	48 c1 e2 20          	shl    $0x20,%rdx
180024a2c:	48 0b c2             	or     %rdx,%rax
180024a2f:	48 83 c4 38          	add    $0x38,%rsp
180024a33:	c3                   	ret
180024a34:	cc                   	int3
180024a35:	cc                   	int3
180024a36:	cc                   	int3
180024a37:	cc                   	int3
180024a38:	b0 01                	mov    $0x1,%al
180024a3a:	c3                   	ret
180024a3b:	cc                   	int3
180024a3c:	48 83 ec 38          	sub    $0x38,%rsp
180024a40:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180024a45:	e8 b6 f0 10 00       	call   0x180133b00
180024a4a:	e8 81 f1 10 00       	call   0x180133bd0
180024a4f:	48 8b 54 24 22       	mov    0x22(%rsp),%rdx
180024a54:	48 8d 0d e5 f1 10 00 	lea    0x10f1e5(%rip),%rcx        # 0x180133c40
180024a5b:	44 0f b7 d0          	movzwl %ax,%r10d
180024a5f:	41 bb 00 8e 00 00    	mov    $0x8e00,%r11d
180024a65:	4c 8b c9             	mov    %rcx,%r9
180024a68:	4c 8b c1             	mov    %rcx,%r8
180024a6b:	49 c1 e9 10          	shr    $0x10,%r9
180024a6f:	66 44 89 4a 36       	mov    %r9w,0x36(%rdx)
180024a74:	66 89 4a 30          	mov    %cx,0x30(%rdx)
180024a78:	66 89 42 32          	mov    %ax,0x32(%rdx)
180024a7c:	66 44 89 5a 34       	mov    %r11w,0x34(%rdx)
180024a81:	49 c1 e8 20          	shr    $0x20,%r8
180024a85:	44 89 42 38          	mov    %r8d,0x38(%rdx)
180024a89:	48 8b 44 24 22       	mov    0x22(%rsp),%rax
180024a8e:	66 89 88 c0 02 00 00 	mov    %cx,0x2c0(%rax)
180024a95:	66 44 89 88 c6 02 00 	mov    %r9w,0x2c6(%rax)
180024a9c:	00
180024a9d:	44 89 80 c8 02 00 00 	mov    %r8d,0x2c8(%rax)
180024aa4:	66 44 89 90 c2 02 00 	mov    %r10w,0x2c2(%rax)
180024aab:	00
180024aac:	66 44 89 98 c4 02 00 	mov    %r11w,0x2c4(%rax)
180024ab3:	00
180024ab4:	48 8b 44 24 22       	mov    0x22(%rsp),%rax
180024ab9:	66 89 88 d0 02 00 00 	mov    %cx,0x2d0(%rax)
180024ac0:	66 44 89 88 d6 02 00 	mov    %r9w,0x2d6(%rax)
180024ac7:	00
180024ac8:	44 89 80 d8 02 00 00 	mov    %r8d,0x2d8(%rax)
180024acf:	66 44 89 90 d2 02 00 	mov    %r10w,0x2d2(%rax)
180024ad6:	00
180024ad7:	66 44 89 98 d4 02 00 	mov    %r11w,0x2d4(%rax)
180024ade:	00
180024adf:	f6 05 ba ed 17 00 02 	testb  $0x2,0x17edba(%rip)        # 0x1801a38a0
180024ae6:	74 3b                	je     0x180024b23
180024ae8:	48 8b 54 24 22       	mov    0x22(%rsp),%rdx
180024aed:	48 8d 05 60 e3 06 00 	lea    0x6e360(%rip),%rax        # 0x180092e54
180024af4:	48 8b c8             	mov    %rax,%rcx
180024af7:	48 c1 e9 10          	shr    $0x10,%rcx
180024afb:	66 89 82 80 00 00 00 	mov    %ax,0x80(%rdx)
180024b02:	48 c1 e8 20          	shr    $0x20,%rax
180024b06:	89 82 88 00 00 00    	mov    %eax,0x88(%rdx)
180024b0c:	66 89 8a 86 00 00 00 	mov    %cx,0x86(%rdx)
180024b13:	66 44 89 92 82 00 00 	mov    %r10w,0x82(%rdx)
180024b1a:	00
180024b1b:	66 44 89 9a 84 00 00 	mov    %r11w,0x84(%rdx)
180024b22:	00
180024b23:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180024b28:	e8 f3 ef 10 00       	call   0x180133b20
180024b2d:	48 83 c4 38          	add    $0x38,%rsp
180024b31:	c3                   	ret
180024b32:	cc                   	int3
180024b33:	cc                   	int3
180024b34:	45 32 c0             	xor    %r8b,%r8b
180024b37:	0f 20 c0             	mov    %cr0,%rax
180024b3a:	b9 00 00 00 80       	mov    $0x80000000,%ecx
180024b3f:	48 85 c1             	test   %rax,%rcx
180024b42:	74 2a                	je     0x180024b6e
180024b44:	b9 80 00 00 c0       	mov    $0xc0000080,%ecx
180024b49:	0f 32                	rdmsr
180024b4b:	48 c1 e2 20          	shl    $0x20,%rdx
180024b4f:	48 0b c2             	or     %rdx,%rax
180024b52:	48 0f ba e0 0a       	bt     $0xa,%rax
180024b57:	73 15                	jae    0x180024b6e
180024b59:	0f 20 e0             	mov    %cr4,%rax
180024b5c:	48 0f ba e0 0c       	bt     $0xc,%rax
180024b61:	45 0f b6 c0          	movzbl %r8b,%r8d
180024b65:	b8 01 00 00 00       	mov    $0x1,%eax
180024b6a:	44 0f 42 c0          	cmovb  %eax,%r8d
180024b6e:	41 8a c0             	mov    %r8b,%al
180024b71:	c3                   	ret
180024b72:	cc                   	int3
180024b73:	cc                   	int3
180024b74:	40 53                	rex push %rbx
180024b76:	48 83 ec 30          	sub    $0x30,%rsp
180024b7a:	b9 07 00 00 00       	mov    $0x7,%ecx
180024b7f:	32 db                	xor    %bl,%bl
180024b81:	e8 2e 00 00 00       	call   0x180024bb4
180024b86:	84 c0                	test   %al,%al
180024b88:	74 1f                	je     0x180024ba9
180024b8a:	33 d2                	xor    %edx,%edx
180024b8c:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180024b91:	8d 4a 07             	lea    0x7(%rdx),%ecx
180024b94:	e8 07 f0 10 00       	call   0x180133ba0
180024b99:	f6 44 24 28 80       	testb  $0x80,0x28(%rsp)
180024b9e:	b8 01 00 00 00       	mov    $0x1,%eax
180024ba3:	0f b6 db             	movzbl %bl,%ebx
180024ba6:	0f 45 d8             	cmovne %eax,%ebx
180024ba9:	8a c3                	mov    %bl,%al
180024bab:	48 83 c4 30          	add    $0x30,%rsp
180024baf:	5b                   	pop    %rbx
180024bb0:	c3                   	ret
180024bb1:	cc                   	int3
180024bb2:	cc                   	int3
180024bb3:	cc                   	int3
180024bb4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180024bb9:	57                   	push   %rdi
180024bba:	48 83 ec 30          	sub    $0x30,%rsp
180024bbe:	8b d9                	mov    %ecx,%ebx
180024bc0:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180024bc5:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
180024bcb:	33 d2                	xor    %edx,%edx
180024bcd:	40 32 ff             	xor    %dil,%dil
180024bd0:	e8 cb ef 10 00       	call   0x180133ba0
180024bd5:	3b 5c 24 20          	cmp    0x20(%rsp),%ebx
180024bd9:	b9 01 00 00 00       	mov    $0x1,%ecx
180024bde:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180024be3:	40 0f b6 c7          	movzbl %dil,%eax
180024be7:	0f 46 c1             	cmovbe %ecx,%eax
180024bea:	48 83 c4 30          	add    $0x30,%rsp
180024bee:	5f                   	pop    %rdi
180024bef:	c3                   	ret
180024bf0:	cc                   	int3
180024bf1:	cc                   	int3
180024bf2:	cc                   	int3
180024bf3:	cc                   	int3
180024bf4:	40 53                	rex push %rbx
180024bf6:	48 83 ec 20          	sub    $0x20,%rsp
180024bfa:	8a d9                	mov    %cl,%bl
180024bfc:	e8 ab fc ff ff       	call   0x1800248ac
180024c01:	83 f8 01             	cmp    $0x1,%eax
180024c04:	74 0c                	je     0x180024c12
180024c06:	8a cb                	mov    %bl,%cl
180024c08:	48 83 c4 20          	add    $0x20,%rsp
180024c0c:	5b                   	pop    %rbx
180024c0d:	e9 96 e1 06 00       	jmp    0x180092da8
180024c12:	b8 bb 00 00 c0       	mov    $0xc00000bb,%eax
180024c17:	48 83 c4 20          	add    $0x20,%rsp
180024c1b:	5b                   	pop    %rbx
180024c1c:	c3                   	ret
180024c1d:	cc                   	int3
180024c1e:	cc                   	int3
180024c1f:	cc                   	int3
180024c20:	40 53                	rex push %rbx
180024c22:	48 83 ec 30          	sub    $0x30,%rsp
180024c26:	e8 81 fc ff ff       	call   0x1800248ac
180024c2b:	8b d8                	mov    %eax,%ebx
180024c2d:	83 f8 02             	cmp    $0x2,%eax
180024c30:	75 1c                	jne    0x180024c4e
180024c32:	b9 a0 01 00 00       	mov    $0x1a0,%ecx
180024c37:	0f 32                	rdmsr
180024c39:	48 c1 e2 20          	shl    $0x20,%rdx
180024c3d:	48 0b c2             	or     %rdx,%rax
180024c40:	48 0f ba f0 16       	btr    $0x16,%rax
180024c45:	48 8b d0             	mov    %rax,%rdx
180024c48:	48 c1 ea 20          	shr    $0x20,%rdx
180024c4c:	0f 30                	wrmsr
180024c4e:	33 d2                	xor    %edx,%edx
180024c50:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180024c55:	8d 4a 01             	lea    0x1(%rdx),%ecx
180024c58:	e8 43 ef 10 00       	call   0x180133ba0
180024c5d:	f7 44 24 28 00 00 00 	testl  $0x4000000,0x28(%rsp)
180024c64:	04
180024c65:	74 2f                	je     0x180024c96
180024c67:	b9 0d 00 00 00       	mov    $0xd,%ecx
180024c6c:	e8 43 ff ff ff       	call   0x180024bb4
180024c71:	84 c0                	test   %al,%al
180024c73:	74 21                	je     0x180024c96
180024c75:	33 d2                	xor    %edx,%edx
180024c77:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180024c7c:	8d 4a 0d             	lea    0xd(%rdx),%ecx
180024c7f:	e8 1c ef 10 00       	call   0x180133ba0
180024c84:	8b 44 24 20          	mov    0x20(%rsp),%eax
180024c88:	83 e0 07             	and    $0x7,%eax
180024c8b:	3c 07                	cmp    $0x7,%al
180024c8d:	75 07                	jne    0x180024c96
180024c8f:	83 0d e2 7b 14 00 01 	orl    $0x1,0x147be2(%rip)        # 0x18016c878
180024c96:	f7 05 60 fd 17 00 00 	testl  $0x10000,0x17fd60(%rip)        # 0x1801a4a00
180024c9d:	00 01 00
180024ca0:	74 7d                	je     0x180024d1f
180024ca2:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180024ca7:	33 d2                	xor    %edx,%edx
180024ca9:	b9 01 00 00 80       	mov    $0x80000001,%ecx
180024cae:	e8 ed ee 10 00       	call   0x180133ba0
180024cb3:	f7 44 24 2c 00 00 10 	testl  $0x100000,0x2c(%rsp)
180024cba:	00
180024cbb:	75 30                	jne    0x180024ced
180024cbd:	83 fb 02             	cmp    $0x2,%ebx
180024cc0:	75 2b                	jne    0x180024ced
180024cc2:	b9 a0 01 00 00       	mov    $0x1a0,%ecx
180024cc7:	0f 32                	rdmsr
180024cc9:	48 c1 e2 20          	shl    $0x20,%rdx
180024ccd:	48 0b c2             	or     %rdx,%rax
180024cd0:	48 ba ff ff ff ff fb 	movabs $0xfffffffbffffffff,%rdx
180024cd7:	ff ff ff
180024cda:	48 23 c2             	and    %rdx,%rax
180024cdd:	48 8b d0             	mov    %rax,%rdx
180024ce0:	48 c1 ea 20          	shr    $0x20,%rdx
180024ce4:	0f 30                	wrmsr
180024ce6:	c6 05 db 03 18 00 01 	movb   $0x1,0x1803db(%rip)        # 0x1801a50c8
180024ced:	b9 80 00 00 c0       	mov    $0xc0000080,%ecx
180024cf2:	0f 32                	rdmsr
180024cf4:	48 c1 e2 20          	shl    $0x20,%rdx
180024cf8:	48 0b c2             	or     %rdx,%rax
180024cfb:	ba 00 08 00 00       	mov    $0x800,%edx
180024d00:	48 85 c2             	test   %rax,%rdx
180024d03:	75 13                	jne    0x180024d18
180024d05:	48 0b c2             	or     %rdx,%rax
180024d08:	48 8b d0             	mov    %rax,%rdx
180024d0b:	48 c1 ea 20          	shr    $0x20,%rdx
180024d0f:	0f 30                	wrmsr
180024d11:	c6 05 a0 03 18 00 01 	movb   $0x1,0x1803a0(%rip)        # 0x1801a50b8
180024d18:	83 0d 59 7b 14 00 02 	orl    $0x2,0x147b59(%rip)        # 0x18016c878
180024d1f:	e8 08 00 00 00       	call   0x180024d2c
180024d24:	48 83 c4 30          	add    $0x30,%rsp
180024d28:	5b                   	pop    %rbx
180024d29:	c3                   	ret
180024d2a:	cc                   	int3
180024d2b:	cc                   	int3
180024d2c:	f6 05 45 7b 14 00 01 	testb  $0x1,0x147b45(%rip)        # 0x18016c878
180024d33:	74 52                	je     0x180024d87
180024d35:	0f 20 e0             	mov    %cr4,%rax
180024d38:	b9 00 00 04 00       	mov    $0x40000,%ecx
180024d3d:	48 85 c1             	test   %rax,%rcx
180024d40:	75 0d                	jne    0x180024d4f
180024d42:	48 0b c1             	or     %rcx,%rax
180024d45:	0f 22 e0             	mov    %rax,%cr4
180024d48:	48 89 0d 61 03 18 00 	mov    %rcx,0x180361(%rip)        # 0x1801a50b0
180024d4f:	33 c9                	xor    %ecx,%ecx
180024d51:	0f 01 d0             	xgetbv
180024d54:	48 c1 e2 20          	shl    $0x20,%rdx
180024d58:	48 0b d0             	or     %rax,%rdx
180024d5b:	48 89 54 24 08       	mov    %rdx,0x8(%rsp)
180024d60:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
180024d65:	a8 04                	test   $0x4,%al
180024d67:	75 1e                	jne    0x180024d87
180024d69:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
180024d6e:	48 83 ca 07          	or     $0x7,%rdx
180024d72:	48 8b c2             	mov    %rdx,%rax
180024d75:	48 c1 ea 20          	shr    $0x20,%rdx
180024d79:	0f 01 d1             	xsetbv
180024d7c:	48 c7 05 39 03 18 00 	movq   $0x4,0x180339(%rip)        # 0x1801a50c0
180024d83:	04 00 00 00
180024d87:	c3                   	ret
180024d88:	cc                   	int3
180024d89:	cc                   	int3
180024d8a:	cc                   	int3
180024d8b:	cc                   	int3
180024d8c:	4c 8b 05 2d 03 18 00 	mov    0x18032d(%rip),%r8        # 0x1801a50c0
180024d93:	45 33 d2             	xor    %r10d,%r10d
180024d96:	44 8a c9             	mov    %cl,%r9b
180024d99:	4d 85 c0             	test   %r8,%r8
180024d9c:	74 2d                	je     0x180024dcb
180024d9e:	33 c9                	xor    %ecx,%ecx
180024da0:	0f 01 d0             	xgetbv
180024da3:	48 c1 e2 20          	shl    $0x20,%rdx
180024da7:	49 f7 d0             	not    %r8
180024daa:	48 0b d0             	or     %rax,%rdx
180024dad:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180024db2:	48 8b 54 24 10       	mov    0x10(%rsp),%rdx
180024db7:	49 23 d0             	and    %r8,%rdx
180024dba:	48 8b c2             	mov    %rdx,%rax
180024dbd:	48 c1 ea 20          	shr    $0x20,%rdx
180024dc1:	0f 01 d1             	xsetbv
180024dc4:	4c 89 15 f5 02 18 00 	mov    %r10,0x1802f5(%rip)        # 0x1801a50c0
180024dcb:	48 8b 0d de 02 18 00 	mov    0x1802de(%rip),%rcx        # 0x1801a50b0
180024dd2:	48 85 c9             	test   %rcx,%rcx
180024dd5:	74 13                	je     0x180024dea
180024dd7:	0f 20 e0             	mov    %cr4,%rax
180024dda:	48 f7 d1             	not    %rcx
180024ddd:	48 23 c8             	and    %rax,%rcx
180024de0:	0f 22 e1             	mov    %rcx,%cr4
180024de3:	4c 89 15 c6 02 18 00 	mov    %r10,0x1802c6(%rip)        # 0x1801a50b0
180024dea:	45 84 c9             	test   %r9b,%r9b
180024ded:	74 52                	je     0x180024e41
180024def:	44 38 15 c2 02 18 00 	cmp    %r10b,0x1802c2(%rip)        # 0x1801a50b8
180024df6:	74 1c                	je     0x180024e14
180024df8:	b9 80 00 00 c0       	mov    $0xc0000080,%ecx
180024dfd:	0f 32                	rdmsr
180024dff:	48 c1 e2 20          	shl    $0x20,%rdx
180024e03:	48 0b c2             	or     %rdx,%rax
180024e06:	48 0f ba f0 0b       	btr    $0xb,%rax
180024e0b:	48 8b d0             	mov    %rax,%rdx
180024e0e:	48 c1 ea 20          	shr    $0x20,%rdx
180024e12:	0f 30                	wrmsr
180024e14:	44 38 15 ad 02 18 00 	cmp    %r10b,0x1802ad(%rip)        # 0x1801a50c8
180024e1b:	74 24                	je     0x180024e41
180024e1d:	b9 a0 01 00 00       	mov    $0x1a0,%ecx
180024e22:	0f 32                	rdmsr
180024e24:	48 c1 e2 20          	shl    $0x20,%rdx
180024e28:	48 0b c2             	or     %rdx,%rax
180024e2b:	48 ba 00 00 00 00 04 	movabs $0x400000000,%rdx
180024e32:	00 00 00
180024e35:	48 0b c2             	or     %rdx,%rax
180024e38:	48 8b d0             	mov    %rax,%rdx
180024e3b:	48 c1 ea 20          	shr    $0x20,%rdx
180024e3f:	0f 30                	wrmsr
180024e41:	c3                   	ret
180024e42:	cc                   	int3
180024e43:	cc                   	int3
180024e44:	33 c9                	xor    %ecx,%ecx
180024e46:	e9 41 ff ff ff       	jmp    0x180024d8c
180024e4b:	cc                   	int3
180024e4c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180024e51:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180024e56:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180024e5b:	57                   	push   %rdi
180024e5c:	41 54                	push   %r12
180024e5e:	41 55                	push   %r13