140016b4d:	33 c9                	xor    %ecx,%ecx
140016b4f:	48 8b 03             	mov    (%rbx),%rax
140016b52:	ff 15 50 1a 00 00    	call   *0x1a50(%rip)        # 0x1400185a8
140016b58:	e8 07 06 00 00       	call   0x140017164
140016b5d:	48 8b d8             	mov    %rax,%rbx
140016b60:	48 83 38 00          	cmpq   $0x0,(%rax)
140016b64:	74 14                	je     0x140016b7a
140016b66:	48 8b c8             	mov    %rax,%rcx
140016b69:	e8 76 f9 ff ff       	call   0x1400164e4
140016b6e:	84 c0                	test   %al,%al
140016b70:	74 08                	je     0x140016b7a
140016b72:	48 8b 0b             	mov    (%rbx),%rcx
140016b75:	e8 4e 07 00 00       	call   0x1400172c8
140016b7a:	e8 19 07 00 00       	call   0x140017298
140016b7f:	48 8b f8             	mov    %rax,%rdi
140016b82:	e8 35 07 00 00       	call   0x1400172bc
140016b87:	48 8b 18             	mov    (%rax),%rbx
140016b8a:	e8 27 07 00 00       	call   0x1400172b6
140016b8f:	4c 8b c7             	mov    %rdi,%r8
140016b92:	48 8b d3             	mov    %rbx,%rdx
140016b95:	8b 08                	mov    (%rax),%ecx
140016b97:	e8 30 b0 ff ff       	call   0x140011bcc
140016b9c:	8b d8                	mov    %eax,%ebx
140016b9e:	e8 95 03 00 00       	call   0x140016f38
140016ba3:	84 c0                	test   %al,%al
140016ba5:	74 55                	je     0x140016bfc
140016ba7:	40 84 f6             	test   %sil,%sil
140016baa:	75 05                	jne    0x140016bb1
140016bac:	e8 c9 06 00 00       	call   0x14001727a
140016bb1:	33 d2                	xor    %edx,%edx
140016bb3:	b1 01                	mov    $0x1,%cl
140016bb5:	e8 e6 f9 ff ff       	call   0x1400165a0
140016bba:	8b c3                	mov    %ebx,%eax
140016bbc:	eb 19                	jmp    0x140016bd7
140016bbe:	8b d8                	mov    %eax,%ebx
140016bc0:	e8 73 03 00 00       	call   0x140016f38
140016bc5:	84 c0                	test   %al,%al
140016bc7:	74 3b                	je     0x140016c04
140016bc9:	80 7c 24 20 00       	cmpb   $0x0,0x20(%rsp)
140016bce:	75 05                	jne    0x140016bd5
140016bd0:	e8 ed 06 00 00       	call   0x1400172c2
140016bd5:	8b c3                	mov    %ebx,%eax
140016bd7:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140016bdc:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140016be1:	48 83 c4 30          	add    $0x30,%rsp
140016be5:	5f                   	pop    %rdi
140016be6:	c3                   	ret
140016be7:	b9 07 00 00 00       	mov    $0x7,%ecx
140016bec:	e8 ef 01 00 00       	call   0x140016de0
140016bf1:	90                   	nop
140016bf2:	b9 07 00 00 00       	mov    $0x7,%ecx
140016bf7:	e8 e4 01 00 00       	call   0x140016de0
140016bfc:	8b cb                	mov    %ebx,%ecx
140016bfe:	e8 4d 06 00 00       	call   0x140017250
140016c03:	90                   	nop
140016c04:	8b cb                	mov    %ebx,%ecx
140016c06:	e8 9f 06 00 00       	call   0x1400172aa
140016c0b:	90                   	nop
140016c0c:	48 83 ec 28          	sub    $0x28,%rsp
140016c10:	e8 4f 04 00 00       	call   0x140017064
140016c15:	48 83 c4 28          	add    $0x28,%rsp
140016c19:	e9 72 fe ff ff       	jmp    0x140016a90
140016c1e:	cc                   	int3
140016c1f:	cc                   	int3
140016c20:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140016c25:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140016c2a:	57                   	push   %rdi
140016c2b:	48 83 ec 10          	sub    $0x10,%rsp
140016c2f:	33 c0                	xor    %eax,%eax
140016c31:	33 c9                	xor    %ecx,%ecx
140016c33:	0f a2                	cpuid
140016c35:	44 8b c1             	mov    %ecx,%r8d
140016c38:	45 33 db             	xor    %r11d,%r11d
140016c3b:	44 8b cb             	mov    %ebx,%r9d
140016c3e:	41 81 f0 6e 74 65 6c 	xor    $0x6c65746e,%r8d
140016c45:	41 81 f1 47 65 6e 75 	xor    $0x756e6547,%r9d
140016c4c:	44 8b d2             	mov    %edx,%r10d
140016c4f:	8b f0                	mov    %eax,%esi
140016c51:	33 c9                	xor    %ecx,%ecx
140016c53:	41 8d 43 01          	lea    0x1(%r11),%eax
140016c57:	45 0b c8             	or     %r8d,%r9d
140016c5a:	0f a2                	cpuid
140016c5c:	41 81 f2 69 6e 65 49 	xor    $0x49656e69,%r10d
140016c63:	89 04 24             	mov    %eax,(%rsp)
140016c66:	45 0b ca             	or     %r10d,%r9d
140016c69:	89 5c 24 04          	mov    %ebx,0x4(%rsp)
140016c6d:	8b f9                	mov    %ecx,%edi
140016c6f:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
140016c73:	89 54 24 0c          	mov    %edx,0xc(%rsp)
140016c77:	75 50                	jne    0x140016cc9
140016c79:	48 83 0d 4f f4 00 00 	orq    $0xffffffffffffffff,0xf44f(%rip)        # 0x1400260d0
140016c80:	ff
140016c81:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
140016c86:	3d c0 06 01 00       	cmp    $0x106c0,%eax
140016c8b:	74 28                	je     0x140016cb5
140016c8d:	3d 60 06 02 00       	cmp    $0x20660,%eax
140016c92:	74 21                	je     0x140016cb5
140016c94:	3d 70 06 02 00       	cmp    $0x20670,%eax
140016c99:	74 1a                	je     0x140016cb5
140016c9b:	05 b0 f9 fc ff       	add    $0xfffcf9b0,%eax
140016ca0:	83 f8 20             	cmp    $0x20,%eax
140016ca3:	77 24                	ja     0x140016cc9
140016ca5:	48 b9 01 00 01 00 01 	movabs $0x100010001,%rcx
140016cac:	00 00 00
140016caf:	48 0f a3 c1          	bt     %rax,%rcx
140016cb3:	73 14                	jae    0x140016cc9
140016cb5:	44 8b 05 b4 fd 00 00 	mov    0xfdb4(%rip),%r8d        # 0x140026a70
140016cbc:	41 83 c8 01          	or     $0x1,%r8d
140016cc0:	44 89 05 a9 fd 00 00 	mov    %r8d,0xfda9(%rip)        # 0x140026a70
140016cc7:	eb 07                	jmp    0x140016cd0
140016cc9:	44 8b 05 a0 fd 00 00 	mov    0xfda0(%rip),%r8d        # 0x140026a70
140016cd0:	b8 07 00 00 00       	mov    $0x7,%eax
140016cd5:	44 8d 48 fb          	lea    -0x5(%rax),%r9d
140016cd9:	3b f0                	cmp    %eax,%esi
140016cdb:	7c 26                	jl     0x140016d03
140016cdd:	33 c9                	xor    %ecx,%ecx
140016cdf:	0f a2                	cpuid
140016ce1:	89 04 24             	mov    %eax,(%rsp)
140016ce4:	44 8b db             	mov    %ebx,%r11d
140016ce7:	89 5c 24 04          	mov    %ebx,0x4(%rsp)
140016ceb:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
140016cef:	89 54 24 0c          	mov    %edx,0xc(%rsp)
140016cf3:	0f ba e3 09          	bt     $0x9,%ebx
140016cf7:	73 0a                	jae    0x140016d03
140016cf9:	45 0b c1             	or     %r9d,%r8d
140016cfc:	44 89 05 6d fd 00 00 	mov    %r8d,0xfd6d(%rip)        # 0x140026a70
140016d03:	c7 05 bb f3 00 00 01 	movl   $0x1,0xf3bb(%rip)        # 0x1400260c8
140016d0a:	00 00 00
140016d0d:	44 89 0d b8 f3 00 00 	mov    %r9d,0xf3b8(%rip)        # 0x1400260cc
140016d14:	0f ba e7 14          	bt     $0x14,%edi
140016d18:	0f 83 91 00 00 00    	jae    0x140016daf
140016d1e:	44 89 0d a3 f3 00 00 	mov    %r9d,0xf3a3(%rip)        # 0x1400260c8
140016d25:	bb 06 00 00 00       	mov    $0x6,%ebx
140016d2a:	89 1d 9c f3 00 00    	mov    %ebx,0xf39c(%rip)        # 0x1400260cc
140016d30:	0f ba e7 1b          	bt     $0x1b,%edi
140016d34:	73 79                	jae    0x140016daf
140016d36:	0f ba e7 1c          	bt     $0x1c,%edi
140016d3a:	73 73                	jae    0x140016daf
140016d3c:	33 c9                	xor    %ecx,%ecx
140016d3e:	0f 01 d0             	xgetbv
140016d41:	48 c1 e2 20          	shl    $0x20,%rdx
140016d45:	48 0b d0             	or     %rax,%rdx
140016d48:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140016d4d:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140016d52:	22 c3                	and    %bl,%al
140016d54:	3a c3                	cmp    %bl,%al
140016d56:	75 57                	jne    0x140016daf
140016d58:	8b 05 6e f3 00 00    	mov    0xf36e(%rip),%eax        # 0x1400260cc
140016d5e:	83 c8 08             	or     $0x8,%eax
140016d61:	c7 05 5d f3 00 00 03 	movl   $0x3,0xf35d(%rip)        # 0x1400260c8
140016d68:	00 00 00
140016d6b:	89 05 5b f3 00 00    	mov    %eax,0xf35b(%rip)        # 0x1400260cc
140016d71:	41 f6 c3 20          	test   $0x20,%r11b
140016d75:	74 38                	je     0x140016daf
140016d77:	83 c8 20             	or     $0x20,%eax
140016d7a:	c7 05 44 f3 00 00 05 	movl   $0x5,0xf344(%rip)        # 0x1400260c8
140016d81:	00 00 00
140016d84:	89 05 42 f3 00 00    	mov    %eax,0xf342(%rip)        # 0x1400260cc
140016d8a:	b8 00 00 03 d0       	mov    $0xd0030000,%eax
140016d8f:	44 23 d8             	and    %eax,%r11d
140016d92:	44 3b d8             	cmp    %eax,%r11d
140016d95:	75 18                	jne    0x140016daf
140016d97:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140016d9c:	24 e0                	and    $0xe0,%al
140016d9e:	3c e0                	cmp    $0xe0,%al
140016da0:	75 0d                	jne    0x140016daf
140016da2:	83 0d 23 f3 00 00 40 	orl    $0x40,0xf323(%rip)        # 0x1400260cc
140016da9:	89 1d 19 f3 00 00    	mov    %ebx,0xf319(%rip)        # 0x1400260c8
140016daf:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
140016db4:	33 c0                	xor    %eax,%eax
140016db6:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
140016dbb:	48 83 c4 10          	add    $0x10,%rsp
140016dbf:	5f                   	pop    %rdi
140016dc0:	c3                   	ret
140016dc1:	cc                   	int3
140016dc2:	cc                   	int3
140016dc3:	cc                   	int3
140016dc4:	b8 01 00 00 00       	mov    $0x1,%eax
140016dc9:	c3                   	ret
140016dca:	cc                   	int3
140016dcb:	cc                   	int3
140016dcc:	33 c0                	xor    %eax,%eax
140016dce:	39 05 1c f3 00 00    	cmp    %eax,0xf31c(%rip)        # 0x1400260f0
140016dd4:	0f 95 c0             	setne  %al
140016dd7:	c3                   	ret
140016dd8:	83 25 95 fc 00 00 00 	andl   $0x0,0xfc95(%rip)        # 0x140026a74
140016ddf:	c3                   	ret
140016de0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016de5:	55                   	push   %rbp
140016de6:	48 8d ac 24 40 fb ff 	lea    -0x4c0(%rsp),%rbp
140016ded:	ff
140016dee:	48 81 ec c0 05 00 00 	sub    $0x5c0,%rsp
140016df5:	8b d9                	mov    %ecx,%ebx
140016df7:	b9 17 00 00 00       	mov    $0x17,%ecx
140016dfc:	ff 15 96 13 00 00    	call   *0x1396(%rip)        # 0x140018198
140016e02:	85 c0                	test   %eax,%eax
140016e04:	74 04                	je     0x140016e0a
140016e06:	8b cb                	mov    %ebx,%ecx
140016e08:	cd 29                	int    $0x29
140016e0a:	b9 03 00 00 00       	mov    $0x3,%ecx
140016e0f:	e8 c4 ff ff ff       	call   0x140016dd8
140016e14:	33 d2                	xor    %edx,%edx
140016e16:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140016e1a:	41 b8 d0 04 00 00    	mov    $0x4d0,%r8d
140016e20:	e8 dd 03 00 00       	call   0x140017202
140016e25:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140016e29:	ff 15 39 13 00 00    	call   *0x1339(%rip)        # 0x140018168
140016e2f:	48 8b 9d e8 00 00 00 	mov    0xe8(%rbp),%rbx
140016e36:	48 8d 95 d8 04 00 00 	lea    0x4d8(%rbp),%rdx
140016e3d:	48 8b cb             	mov    %rbx,%rcx
140016e40:	45 33 c0             	xor    %r8d,%r8d
140016e43:	ff 15 27 13 00 00    	call   *0x1327(%rip)        # 0x140018170
140016e49:	48 85 c0             	test   %rax,%rax
140016e4c:	74 3c                	je     0x140016e8a
140016e4e:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
140016e54:	48 8d 8d e0 04 00 00 	lea    0x4e0(%rbp),%rcx
140016e5b:	48 8b 95 d8 04 00 00 	mov    0x4d8(%rbp),%rdx
140016e62:	4c 8b c8             	mov    %rax,%r9
140016e65:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140016e6a:	4c 8b c3             	mov    %rbx,%r8
140016e6d:	48 8d 8d e8 04 00 00 	lea    0x4e8(%rbp),%rcx
140016e74:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140016e79:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140016e7d:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140016e82:	33 c9                	xor    %ecx,%ecx
140016e84:	ff 15 ee 12 00 00    	call   *0x12ee(%rip)        # 0x140018178
140016e8a:	48 8b 85 c8 04 00 00 	mov    0x4c8(%rbp),%rax
140016e91:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140016e96:	48 89 85 e8 00 00 00 	mov    %rax,0xe8(%rbp)
140016e9d:	33 d2                	xor    %edx,%edx
140016e9f:	48 8d 85 c8 04 00 00 	lea    0x4c8(%rbp),%rax
140016ea6:	41 b8 98 00 00 00    	mov    $0x98,%r8d
140016eac:	48 83 c0 08          	add    $0x8,%rax
140016eb0:	48 89 85 88 00 00 00 	mov    %rax,0x88(%rbp)
140016eb7:	e8 46 03 00 00       	call   0x140017202
140016ebc:	48 8b 85 c8 04 00 00 	mov    0x4c8(%rbp),%rax
140016ec3:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140016ec8:	c7 44 24 50 15 00 00 	movl   $0x40000015,0x50(%rsp)
140016ecf:	40
140016ed0:	c7 44 24 54 01 00 00 	movl   $0x1,0x54(%rsp)
140016ed7:	00
140016ed8:	ff 15 c2 12 00 00    	call   *0x12c2(%rip)        # 0x1400181a0
140016ede:	83 f8 01             	cmp    $0x1,%eax
140016ee1:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140016ee6:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140016eeb:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
140016eef:	0f 94 c3             	sete   %bl
140016ef2:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140016ef7:	33 c9                	xor    %ecx,%ecx
140016ef9:	ff 15 89 12 00 00    	call   *0x1289(%rip)        # 0x140018188
140016eff:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140016f04:	ff 15 76 12 00 00    	call   *0x1276(%rip)        # 0x140018180
140016f0a:	85 c0                	test   %eax,%eax
140016f0c:	75 0c                	jne    0x140016f1a
140016f0e:	84 db                	test   %bl,%bl
140016f10:	75 08                	jne    0x140016f1a
140016f12:	8d 48 03             	lea    0x3(%rax),%ecx
140016f15:	e8 be fe ff ff       	call   0x140016dd8
140016f1a:	48 8b 9c 24 d0 05 00 	mov    0x5d0(%rsp),%rbx
140016f21:	00
140016f22:	48 81 c4 c0 05 00 00 	add    $0x5c0,%rsp
140016f29:	5d                   	pop    %rbp
140016f2a:	c3                   	ret
140016f2b:	cc                   	int3
140016f2c:	e9 03 00 00 00       	jmp    0x140016f34
140016f31:	cc                   	int3
140016f32:	cc                   	int3
140016f33:	cc                   	int3
140016f34:	33 c0                	xor    %eax,%eax
140016f36:	c3                   	ret
140016f37:	cc                   	int3
140016f38:	48 83 ec 28          	sub    $0x28,%rsp
140016f3c:	33 c9                	xor    %ecx,%ecx
140016f3e:	ff 15 64 12 00 00    	call   *0x1264(%rip)        # 0x1400181a8
140016f44:	48 85 c0             	test   %rax,%rax
140016f47:	74 3a                	je     0x140016f83
140016f49:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
140016f4e:	66 39 08             	cmp    %cx,(%rax)
140016f51:	75 30                	jne    0x140016f83
140016f53:	48 63 48 3c          	movslq 0x3c(%rax),%rcx
140016f57:	48 03 c8             	add    %rax,%rcx
140016f5a:	81 39 50 45 00 00    	cmpl   $0x4550,(%rcx)
140016f60:	75 21                	jne    0x140016f83
140016f62:	b8 0b 02 00 00       	mov    $0x20b,%eax
140016f67:	66 39 41 18          	cmp    %ax,0x18(%rcx)
140016f6b:	75 16                	jne    0x140016f83
140016f6d:	83 b9 84 00 00 00 0e 	cmpl   $0xe,0x84(%rcx)
140016f74:	76 0d                	jbe    0x140016f83
140016f76:	83 b9 f8 00 00 00 00 	cmpl   $0x0,0xf8(%rcx)
140016f7d:	74 04                	je     0x140016f83
140016f7f:	b0 01                	mov    $0x1,%al
140016f81:	eb 02                	jmp    0x140016f85
140016f83:	32 c0                	xor    %al,%al
140016f85:	48 83 c4 28          	add    $0x28,%rsp
140016f89:	c3                   	ret
140016f8a:	cc                   	int3
140016f8b:	cc                   	int3
140016f8c:	48 8d 0d 09 00 00 00 	lea    0x9(%rip),%rcx        # 0x140016f9c
140016f93:	48 ff 25 ee 11 00 00 	rex.W jmp *0x11ee(%rip)        # 0x140018188
140016f9a:	cc                   	int3
140016f9b:	cc                   	int3
140016f9c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016fa1:	57                   	push   %rdi
140016fa2:	48 83 ec 20          	sub    $0x20,%rsp
140016fa6:	48 8b 19             	mov    (%rcx),%rbx
140016fa9:	48 8b f9             	mov    %rcx,%rdi
140016fac:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%rbx)
140016fb2:	75 1c                	jne    0x140016fd0
140016fb4:	83 7b 18 04          	cmpl   $0x4,0x18(%rbx)
140016fb8:	75 16                	jne    0x140016fd0
140016fba:	8b 53 20             	mov    0x20(%rbx),%edx
140016fbd:	8d 82 e0 fa 6c e6    	lea    -0x19930520(%rdx),%eax
140016fc3:	83 f8 02             	cmp    $0x2,%eax
140016fc6:	76 15                	jbe    0x140016fdd
140016fc8:	81 fa 00 40 99 01    	cmp    $0x1994000,%edx
140016fce:	74 0d                	je     0x140016fdd
140016fd0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140016fd5:	33 c0                	xor    %eax,%eax
140016fd7:	48 83 c4 20          	add    $0x20,%rsp
140016fdb:	5f                   	pop    %rdi
140016fdc:	c3                   	ret
140016fdd:	e8 44 02 00 00       	call   0x140017226
140016fe2:	48 89 18             	mov    %rbx,(%rax)
140016fe5:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
140016fe9:	e8 3e 02 00 00       	call   0x14001722c
140016fee:	48 89 18             	mov    %rbx,(%rax)
140016ff1:	e8 ea 02 00 00       	call   0x1400172e0
140016ff6:	cc                   	int3
140016ff7:	cc                   	int3
140016ff8:	c2 00 00             	ret    $0x0
140016ffb:	cc                   	int3
140016ffc:	48 83 61 10 00       	andq   $0x0,0x10(%rcx)
140017001:	48 8d 05 a8 29 00 00 	lea    0x29a8(%rip),%rax        # 0x1400199b0
140017008:	48 89 41 08          	mov    %rax,0x8(%rcx)
14001700c:	48 8d 05 1d 29 00 00 	lea    0x291d(%rip),%rax        # 0x140019930
140017013:	48 89 01             	mov    %rax,(%rcx)
140017016:	48 8b c1             	mov    %rcx,%rax
140017019:	c3                   	ret
14001701a:	cc                   	int3
14001701b:	cc                   	int3
14001701c:	48 83 ec 48          	sub    $0x48,%rsp
140017020:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140017025:	e8 d2 ff ff ff       	call   0x140016ffc
14001702a:	48 8d 15 af 40 00 00 	lea    0x40af(%rip),%rdx        # 0x14001b0e0
140017031:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140017036:	e8 e5 01 00 00       	call   0x140017220
14001703b:	cc                   	int3
14001703c:	48 83 ec 48          	sub    $0x48,%rsp
140017040:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140017045:	e8 be e7 ff ff       	call   0x140015808