18009d9f9:	ba f8 ff 1f 00       	mov    $0x1ffff8,%edx
18009d9fe:	48 23 ca             	and    %rdx,%rcx
18009da01:	49 b8 00 d0 be 7d fb 	movabs $0xfffff6fb7dbed000,%r8
18009da08:	f6 ff ff
18009da0b:	48 2b c8             	sub    %rax,%rcx
18009da0e:	49 8b c7             	mov    %r15,%rax
18009da11:	48 c1 e8 27          	shr    $0x27,%rax
18009da15:	25 ff 01 00 00       	and    $0x1ff,%eax
18009da1a:	45 84 ed             	test   %r13b,%r13b
18009da1d:	49 8d 04 c0          	lea    (%r8,%rax,8),%rax
18009da21:	48 0f 45 c1          	cmovne %rcx,%rax
18009da25:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18009da2a:	f6 00 01             	testb  $0x1,(%rax)
18009da2d:	75 0a                	jne    0x18009da39
18009da2f:	bf 03 00 00 00       	mov    $0x3,%edi
18009da34:	e9 96 00 00 00       	jmp    0x18009dacf
18009da39:	4d 8b f7             	mov    %r15,%r14
18009da3c:	b9 f8 ff ff 3f       	mov    $0x3ffffff8,%ecx
18009da41:	49 c1 ee 1b          	shr    $0x1b,%r14
18009da45:	49 b8 00 00 00 c0 04 	movabs $0x120904c0000000,%r8
18009da4c:	09 12 00
18009da4f:	49 8b c6             	mov    %r14,%rax
18009da52:	4c 23 f2             	and    %rdx,%r14
18009da55:	48 23 c1             	and    %rcx,%rax
18009da58:	48 ba 00 00 60 82 04 	movabs $0x90482600000,%rdx
18009da5f:	09 00 00
18009da62:	49 2b c0             	sub    %r8,%rax
18009da65:	4c 2b f2             	sub    %rdx,%r14
18009da68:	45 84 ed             	test   %r13b,%r13b
18009da6b:	4c 0f 45 f0          	cmovne %rax,%r14
18009da6f:	41 f6 06 01          	testb  $0x1,(%r14)
18009da73:	75 07                	jne    0x18009da7c
18009da75:	bf 02 00 00 00       	mov    $0x2,%edi
18009da7a:	eb 53                	jmp    0x18009dacf
18009da7c:	49 8b ef             	mov    %r15,%rbp
18009da7f:	48 ba f8 ff ff ff 7f 	movabs $0x7ffffffff8,%rdx
18009da86:	00 00 00
18009da89:	48 c1 ed 12          	shr    $0x12,%rbp
18009da8d:	49 b8 00 00 00 00 80 	movabs $0x12098000000000,%r8
18009da94:	09 12 00
18009da97:	48 8b c5             	mov    %rbp,%rax
18009da9a:	48 23 e9             	and    %rcx,%rbp
18009da9d:	48 23 c2             	and    %rdx,%rax
18009daa0:	48 b9 00 00 00 c0 04 	movabs $0x904c0000000,%rcx
18009daa7:	09 00 00
18009daaa:	49 2b c0             	sub    %r8,%rax
18009daad:	48 2b e9             	sub    %rcx,%rbp
18009dab0:	45 84 ed             	test   %r13b,%r13b
18009dab3:	48 0f 45 e8          	cmovne %rax,%rbp
18009dab7:	45 85 e4             	test   %r12d,%r12d
18009daba:	0f 85 f9 03 00 00    	jne    0x18009deb9
18009dac0:	f6 45 00 01          	testb  $0x1,0x0(%rbp)
18009dac4:	0f 85 af 03 00 00    	jne    0x18009de79
18009daca:	41 8d 7c 24 01       	lea    0x1(%r12),%edi
18009dacf:	45 85 e4             	test   %r12d,%r12d
18009dad2:	44 8d 6f ff          	lea    -0x1(%rdi),%r13d
18009dad6:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
18009dadb:	44 0f 44 ef          	cmove  %edi,%r13d
18009dadf:	41 8b d5             	mov    %r13d,%edx
18009dae2:	e8 25 0b 00 00       	call   0x18009e60c
18009dae7:	85 c0                	test   %eax,%eax
18009dae9:	0f 88 87 04 00 00    	js     0x18009df76
18009daef:	83 ef 01             	sub    $0x1,%edi
18009daf2:	0f 84 6d 02 00 00    	je     0x18009dd65
18009daf8:	83 ef 01             	sub    $0x1,%edi
18009dafb:	0f 84 96 01 00 00    	je     0x18009dc97
18009db01:	83 ef 01             	sub    $0x1,%edi
18009db04:	0f 84 cc 00 00 00    	je     0x18009dbd6
18009db0a:	83 ff 01             	cmp    $0x1,%edi
18009db0d:	0f 85 5a 02 00 00    	jne    0x18009dd6d
18009db13:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
18009db18:	41 ff cd             	dec    %r13d
18009db1b:	48 b8 ff 0f 00 00 00 	movabs $0xffff000000000fff,%rax
18009db22:	00 ff ff
18009db25:	49 21 06             	and    %rax,(%r14)
18009db28:	48 b8 00 f0 ff ff ff 	movabs $0xfffffffff000,%rax
18009db2f:	ff 00 00
18009db32:	4a 8b 4c ec 38       	mov    0x38(%rsp,%r13,8),%rcx
18009db37:	48 23 c8             	and    %rax,%rcx
18009db3a:	48 83 c9 1b          	or     $0x1b,%rcx
18009db3e:	49 09 0e             	or     %rcx,(%r14)
18009db41:	0f 20 d8             	mov    %cr3,%rax
18009db44:	0f 22 d8             	mov    %rax,%cr3
18009db47:	40 8a ac 24 b0 00 00 	mov    0xb0(%rsp),%bpl
18009db4e:	00
18009db4f:	48 b9 00 00 60 82 04 	movabs $0x12090482600000,%rcx
18009db56:	09 12 00
18009db59:	49 8b f7             	mov    %r15,%rsi
18009db5c:	48 bf 00 d0 be 7d fb 	movabs $0xfffff6fb7dbed000,%rdi
18009db63:	f6 ff ff
18009db66:	48 c1 ee 24          	shr    $0x24,%rsi
18009db6a:	41 b8 00 10 00 00    	mov    $0x1000,%r8d
18009db70:	48 8b c6             	mov    %rsi,%rax
18009db73:	25 00 f0 1f 00       	and    $0x1ff000,%eax
18009db78:	48 2b c1             	sub    %rcx,%rax
18009db7b:	40 84 ed             	test   %bpl,%bpl
18009db7e:	48 0f 45 f8          	cmovne %rax,%rdi
18009db82:	33 d2                	xor    %edx,%edx
18009db84:	48 8b cf             	mov    %rdi,%rcx
18009db87:	e8 f4 80 09 00       	call   0x180135c80
18009db8c:	f0 83 0c 24 00       	lock orl $0x0,(%rsp)
18009db91:	0f ae e8             	lfence
18009db94:	49 83 26 e7          	andq   $0xffffffffffffffe7,(%r14)
18009db98:	0f 01 3f             	invlpg (%rdi)
18009db9b:	81 e6 f8 ff 1f 00    	and    $0x1ffff8,%esi
18009dba1:	48 b8 00 00 60 82 04 	movabs $0x12090482600000,%rax
18009dba8:	09 12 00
18009dbab:	48 2b f0             	sub    %rax,%rsi
18009dbae:	48 b9 00 d0 be 7d fb 	movabs $0xfffff6fb7dbed000,%rcx
18009dbb5:	f6 ff ff
18009dbb8:	49 8b c7             	mov    %r15,%rax
18009dbbb:	48 c1 e8 27          	shr    $0x27,%rax
18009dbbf:	25 ff 01 00 00       	and    $0x1ff,%eax
18009dbc4:	40 84 ed             	test   %bpl,%bpl
18009dbc7:	48 8d 14 c1          	lea    (%rcx,%rax,8),%rdx
18009dbcb:	48 0f 45 d6          	cmovne %rsi,%rdx
18009dbcf:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
18009dbd4:	eb 05                	jmp    0x18009dbdb
18009dbd6:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
18009dbdb:	41 ff cd             	dec    %r13d
18009dbde:	48 b8 ff 0f 00 00 00 	movabs $0xffff000000000fff,%rax
18009dbe5:	00 ff ff
18009dbe8:	48 21 02             	and    %rax,(%rdx)
18009dbeb:	48 b8 00 f0 ff ff ff 	movabs $0xfffffffff000,%rax
18009dbf2:	ff 00 00
18009dbf5:	4a 8b 4c ec 38       	mov    0x38(%rsp,%r13,8),%rcx
18009dbfa:	48 23 c8             	and    %rax,%rcx
18009dbfd:	48 83 c9 1b          	or     $0x1b,%rcx
18009dc01:	48 09 0a             	or     %rcx,(%rdx)
18009dc04:	0f 20 d8             	mov    %cr3,%rax
18009dc07:	0f 22 d8             	mov    %rax,%cr3
18009dc0a:	40 8a b4 24 b0 00 00 	mov    0xb0(%rsp),%sil
18009dc11:	00
18009dc12:	48 b9 00 00 60 82 04 	movabs $0x90482600000,%rcx
18009dc19:	09 00 00
18009dc1c:	4d 8b f7             	mov    %r15,%r14
18009dc1f:	48 bd 00 00 00 c0 04 	movabs $0x120904c0000000,%rbp
18009dc26:	09 12 00
18009dc29:	49 c1 ee 1b          	shr    $0x1b,%r14
18009dc2d:	41 b8 00 10 00 00    	mov    $0x1000,%r8d
18009dc33:	49 8b c6             	mov    %r14,%rax
18009dc36:	49 8b fe             	mov    %r14,%rdi
18009dc39:	81 e7 00 f0 1f 00    	and    $0x1ff000,%edi
18009dc3f:	25 00 f0 ff 3f       	and    $0x3ffff000,%eax
18009dc44:	48 2b f9             	sub    %rcx,%rdi
18009dc47:	48 2b c5             	sub    %rbp,%rax
18009dc4a:	40 84 f6             	test   %sil,%sil
18009dc4d:	48 0f 45 f8          	cmovne %rax,%rdi
18009dc51:	33 d2                	xor    %edx,%edx
18009dc53:	48 8b cf             	mov    %rdi,%rcx
18009dc56:	e8 25 80 09 00       	call   0x180135c80
18009dc5b:	f0 83 0c 24 00       	lock orl $0x0,(%rsp)
18009dc60:	0f ae e8             	lfence
18009dc63:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
18009dc68:	48 83 20 e7          	andq   $0xffffffffffffffe7,(%rax)
18009dc6c:	0f 01 3f             	invlpg (%rdi)
18009dc6f:	49 8b c6             	mov    %r14,%rax
18009dc72:	48 b9 00 00 60 82 04 	movabs $0x90482600000,%rcx
18009dc79:	09 00 00
18009dc7c:	41 81 e6 f8 ff 1f 00 	and    $0x1ffff8,%r14d
18009dc83:	25 f8 ff ff 3f       	and    $0x3ffffff8,%eax
18009dc88:	48 2b c5             	sub    %rbp,%rax
18009dc8b:	4c 2b f1             	sub    %rcx,%r14
18009dc8e:	40 84 f6             	test   %sil,%sil
18009dc91:	4c 0f 45 f0          	cmovne %rax,%r14
18009dc95:	eb 08                	jmp    0x18009dc9f
18009dc97:	40 8a b4 24 b0 00 00 	mov    0xb0(%rsp),%sil
18009dc9e:	00
18009dc9f:	41 ff cd             	dec    %r13d
18009dca2:	48 b8 ff 0f 00 00 00 	movabs $0xffff000000000fff,%rax
18009dca9:	00 ff ff
18009dcac:	49 21 06             	and    %rax,(%r14)
18009dcaf:	48 b8 00 f0 ff ff ff 	movabs $0xfffffffff000,%rax
18009dcb6:	ff 00 00
18009dcb9:	4a 8b 4c ec 38       	mov    0x38(%rsp,%r13,8),%rcx
18009dcbe:	48 23 c8             	and    %rax,%rcx
18009dcc1:	48 83 c9 1b          	or     $0x1b,%rcx
18009dcc5:	49 09 0e             	or     %rcx,(%r14)
18009dcc8:	0f 20 d8             	mov    %cr3,%rax
18009dccb:	0f 22 d8             	mov    %rax,%cr3
18009dcce:	48 b9 00 f0 ff ff 7f 	movabs $0x7ffffff000,%rcx
18009dcd5:	00 00 00
18009dcd8:	49 8b ef             	mov    %r15,%rbp
18009dcdb:	48 c1 ed 12          	shr    $0x12,%rbp
18009dcdf:	41 b8 00 10 00 00    	mov    $0x1000,%r8d
18009dce5:	48 8b fd             	mov    %rbp,%rdi
18009dce8:	48 8b c5             	mov    %rbp,%rax
18009dceb:	48 23 c1             	and    %rcx,%rax
18009dcee:	81 e7 00 f0 ff 3f    	and    $0x3ffff000,%edi
18009dcf4:	48 b9 00 00 00 00 80 	movabs $0x12098000000000,%rcx
18009dcfb:	09 12 00
18009dcfe:	48 2b c1             	sub    %rcx,%rax
18009dd01:	48 b9 00 00 00 c0 04 	movabs $0x904c0000000,%rcx
18009dd08:	09 00 00
18009dd0b:	48 2b f9             	sub    %rcx,%rdi
18009dd0e:	40 84 f6             	test   %sil,%sil
18009dd11:	48 0f 45 f8          	cmovne %rax,%rdi
18009dd15:	33 d2                	xor    %edx,%edx
18009dd17:	48 8b cf             	mov    %rdi,%rcx
18009dd1a:	e8 61 7f 09 00       	call   0x180135c80
18009dd1f:	f0 83 0c 24 00       	lock orl $0x0,(%rsp)
18009dd24:	0f ae e8             	lfence
18009dd27:	49 83 26 e7          	andq   $0xffffffffffffffe7,(%r14)
18009dd2b:	0f 01 3f             	invlpg (%rdi)
18009dd2e:	48 8b c5             	mov    %rbp,%rax
18009dd31:	48 b9 f8 ff ff ff 7f 	movabs $0x7ffffffff8,%rcx
18009dd38:	00 00 00
18009dd3b:	48 23 c1             	and    %rcx,%rax
18009dd3e:	81 e5 f8 ff ff 3f    	and    $0x3ffffff8,%ebp
18009dd44:	48 b9 00 00 00 00 80 	movabs $0x12098000000000,%rcx
18009dd4b:	09 12 00
18009dd4e:	48 2b c1             	sub    %rcx,%rax
18009dd51:	48 b9 00 00 00 c0 04 	movabs $0x904c0000000,%rcx
18009dd58:	09 00 00
18009dd5b:	48 2b e9             	sub    %rcx,%rbp
18009dd5e:	40 84 f6             	test   %sil,%sil
18009dd61:	48 0f 45 e8          	cmovne %rax,%rbp
18009dd65:	45 85 e4             	test   %r12d,%r12d
18009dd68:	74 34                	je     0x18009dd9e
18009dd6a:	48 8b f5             	mov    %rbp,%rsi
18009dd6d:	44 8a ac 24 b0 00 00 	mov    0xb0(%rsp),%r13b
18009dd74:	00
18009dd75:	8b bc 24 c8 00 00 00 	mov    0xc8(%rsp),%edi
18009dd7c:	48 8b 16             	mov    (%rsi),%rdx
18009dd7f:	48 83 fb ff          	cmp    $0xffffffffffffffff,%rbx
18009dd83:	0f 85 38 01 00 00    	jne    0x18009dec1
18009dd89:	48 b8 00 f0 ff ff ff 	movabs $0xfffffffff000,%rax
18009dd90:	ff 00 00
18009dd93:	48 0b d0             	or     %rax,%rdx
18009dd96:	48 89 16             	mov    %rdx,(%rsi)
18009dd99:	e9 9e 01 00 00       	jmp    0x18009df3c
18009dd9e:	48 b8 ff 0f 00 00 00 	movabs $0xffff000000000fff,%rax
18009dda5:	00 ff ff
18009dda8:	48 b9 00 f0 ff ff ff 	movabs $0xfffffffff000,%rcx
18009ddaf:	ff 00 00
18009ddb2:	48 21 45 00          	and    %rax,0x0(%rbp)
18009ddb6:	41 8d 45 ff          	lea    -0x1(%r13),%eax
18009ddba:	48 8b 44 c4 38       	mov    0x38(%rsp,%rax,8),%rax
18009ddbf:	48 23 c1             	and    %rcx,%rax
18009ddc2:	48 83 c8 1b          	or     $0x1b,%rax
18009ddc6:	48 09 45 00          	or     %rax,0x0(%rbp)
18009ddca:	0f 20 d8             	mov    %cr3,%rax
18009ddcd:	0f 22 d8             	mov    %rax,%cr3
18009ddd0:	44 8a ac 24 b0 00 00 	mov    0xb0(%rsp),%r13b
18009ddd7:	00
18009ddd8:	49 8b f7             	mov    %r15,%rsi
18009dddb:	48 c1 ee 09          	shr    $0x9,%rsi
18009dddf:	41 b8 00 10 00 00    	mov    $0x1000,%r8d
18009dde5:	48 8b c6             	mov    %rsi,%rax
18009dde8:	48 8b fe             	mov    %rsi,%rdi
18009ddeb:	48 23 c1             	and    %rcx,%rax
18009ddee:	48 b9 00 00 00 00 00 	movabs $0x13000000000000,%rcx
18009ddf5:	00 13 00
18009ddf8:	48 2b c1             	sub    %rcx,%rax
18009ddfb:	48 b9 00 f0 ff ff 7f 	movabs $0x7ffffff000,%rcx
18009de02:	00 00 00
18009de05:	48 23 f9             	and    %rcx,%rdi
18009de08:	48 b9 00 00 00 00 80 	movabs $0x98000000000,%rcx
18009de0f:	09 00 00
18009de12:	48 2b f9             	sub    %rcx,%rdi
18009de15:	45 84 ed             	test   %r13b,%r13b
18009de18:	48 0f 45 f8          	cmovne %rax,%rdi
18009de1c:	33 d2                	xor    %edx,%edx
18009de1e:	48 8b cf             	mov    %rdi,%rcx
18009de21:	e8 5a 7e 09 00       	call   0x180135c80
18009de26:	f0 83 0c 24 00       	lock orl $0x0,(%rsp)
18009de2b:	0f ae e8             	lfence
18009de2e:	48 83 65 00 e7       	andq   $0xffffffffffffffe7,0x0(%rbp)
18009de33:	0f 01 3f             	invlpg (%rdi)
18009de36:	48 8b c6             	mov    %rsi,%rax
18009de39:	48 b9 f8 ff ff ff ff 	movabs $0xfffffffffff8,%rcx
18009de40:	ff 00 00
18009de43:	48 23 c1             	and    %rcx,%rax
18009de46:	48 b9 00 00 00 00 00 	movabs $0x13000000000000,%rcx
18009de4d:	00 13 00
18009de50:	48 2b c1             	sub    %rcx,%rax
18009de53:	48 b9 f8 ff ff ff 7f 	movabs $0x7ffffffff8,%rcx
18009de5a:	00 00 00
18009de5d:	48 23 f1             	and    %rcx,%rsi
18009de60:	48 b9 00 00 00 00 80 	movabs $0x98000000000,%rcx
18009de67:	09 00 00
18009de6a:	48 2b f1             	sub    %rcx,%rsi
18009de6d:	45 84 ed             	test   %r13b,%r13b
18009de70:	48 0f 45 f0          	cmovne %rax,%rsi
18009de74:	e9 fc fe ff ff       	jmp    0x18009dd75
18009de79:	48 b9 f8 ff ff ff ff 	movabs $0xfffffffffff8,%rcx
18009de80:	ff 00 00
18009de83:	49 8b f7             	mov    %r15,%rsi
18009de86:	48 c1 ee 09          	shr    $0x9,%rsi
18009de8a:	48 8b c6             	mov    %rsi,%rax
18009de8d:	48 23 f2             	and    %rdx,%rsi
18009de90:	48 23 c1             	and    %rcx,%rax
18009de93:	48 b9 00 00 00 00 00 	movabs $0x13000000000000,%rcx
18009de9a:	00 13 00
18009de9d:	48 2b c1             	sub    %rcx,%rax
18009dea0:	48 b9 00 00 00 00 80 	movabs $0x98000000000,%rcx
18009dea7:	09 00 00
18009deaa:	48 2b f1             	sub    %rcx,%rsi
18009dead:	45 84 ed             	test   %r13b,%r13b
18009deb0:	48 0f 45 f0          	cmovne %rax,%rsi
18009deb4:	e9 c3 fe ff ff       	jmp    0x18009dd7c
18009deb9:	48 8b f5             	mov    %rbp,%rsi
18009debc:	e9 bb fe ff ff       	jmp    0x18009dd7c
18009dec1:	41 8b c4             	mov    %r12d,%eax
18009dec4:	f7 d8                	neg    %eax
18009dec6:	1b c9                	sbb    %ecx,%ecx
18009dec8:	81 e1 ff 01 00 00    	and    $0x1ff,%ecx
18009dece:	8d 41 01             	lea    0x1(%rcx),%eax
18009ded1:	48 b9 00 f0 ff ff ff 	movabs $0xfffffffff000,%rcx
18009ded8:	ff 00 00
18009dedb:	0f af 84 24 b8 00 00 	imul   0xb8(%rsp),%eax
18009dee2:	00
18009dee3:	48 03 44 24 30       	add    0x30(%rsp),%rax
18009dee8:	48 c1 e0 0c          	shl    $0xc,%rax
18009deec:	48 33 c2             	xor    %rdx,%rax
18009deef:	48 23 c1             	and    %rcx,%rax
18009def2:	48 33 c2             	xor    %rdx,%rax
18009def5:	45 85 e4             	test   %r12d,%r12d
18009def8:	74 05                	je     0x18009deff
18009defa:	48 0f ba e8 07       	bts    $0x7,%rax
18009deff:	0f ba e7 0a          	bt     $0xa,%edi
18009df03:	73 0d                	jae    0x18009df12
18009df05:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
18009df0c:	00 00 80
18009df0f:	48 0b c1             	or     %rcx,%rax
18009df12:	0f ba e7 08          	bt     $0x8,%edi
18009df16:	72 04                	jb     0x18009df1c
18009df18:	48 83 c8 42          	or     $0x42,%rax
18009df1c:	48 83 c8 01          	or     $0x1,%rax
18009df20:	48 89 06             	mov    %rax,(%rsi)
18009df23:	40 f6 c7 01          	test   $0x1,%dil
18009df27:	74 06                	je     0x18009df2f
18009df29:	48 83 c8 18          	or     $0x18,%rax
18009df2d:	eb 0a                	jmp    0x18009df39
18009df2f:	40 f6 c7 04          	test   $0x4,%dil
18009df33:	74 07                	je     0x18009df3c
18009df35:	48 83 c8 08          	or     $0x8,%rax
18009df39:	48 89 06             	mov    %rax,(%rsi)
18009df3c:	8b 94 24 b8 00 00 00 	mov    0xb8(%rsp),%edx
18009df43:	41 8b c4             	mov    %r12d,%eax
18009df46:	ff c2                	inc    %edx
18009df48:	f7 d8                	neg    %eax
18009df4a:	89 94 24 b8 00 00 00 	mov    %edx,0xb8(%rsp)
18009df51:	8b c2                	mov    %edx,%eax
18009df53:	48 1b c9             	sbb    %rcx,%rcx
18009df56:	81 e1 00 f0 1f 00    	and    $0x1ff000,%ecx
18009df5c:	48 81 c1 00 10 00 00 	add    $0x1000,%rcx
18009df63:	4c 03 f9             	add    %rcx,%r15
18009df66:	48 3b 84 24 c0 00 00 	cmp    0xc0(%rsp),%rax
18009df6d:	00