18013f9a7:	85 c9                	test   %ecx,%ecx
18013f9a9:	74 25                	je     0x18013f9d0
18013f9ab:	f7 c1 ff 0f 00 00    	test   $0xfff,%ecx
18013f9b1:	75 1d                	jne    0x18013f9d0
18013f9b3:	81 f9 00 e0 ff 7f    	cmp    $0x7fffe000,%ecx
18013f9b9:	77 15                	ja     0x18013f9d0
18013f9bb:	49 8b c9             	mov    %r9,%rcx
18013f9be:	e8 39 fd fb ff       	call   0x1800ff6fc
18013f9c3:	41 3b 81 fc 01 00 00 	cmp    0x1fc(%r9),%eax
18013f9ca:	75 04                	jne    0x18013f9d0
18013f9cc:	b0 01                	mov    $0x1,%al
18013f9ce:	eb 02                	jmp    0x18013f9d2
18013f9d0:	32 c0                	xor    %al,%al
18013f9d2:	48 83 c4 28          	add    $0x28,%rsp
18013f9d6:	c3                   	ret
18013f9d7:	cc                   	int3
18013f9d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18013f9dd:	56                   	push   %rsi
18013f9de:	48 83 ec 20          	sub    $0x20,%rsp
18013f9e2:	4c 8b 5c 24 50       	mov    0x50(%rsp),%r11
18013f9e7:	4c 8b d1             	mov    %rcx,%r10
18013f9ea:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
18013f9f1:	00
18013f9f2:	48 89 59 38          	mov    %rbx,0x38(%rcx)
18013f9f6:	4d 85 db             	test   %r11,%r11
18013f9f9:	75 06                	jne    0x18013fa01
18013f9fb:	41 8d 4b 05          	lea    0x5(%r11),%ecx
18013f9ff:	cd 29                	int    $0x29
18013fa01:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
18013fa06:	48 85 c9             	test   %rcx,%rcx
18013fa09:	74 1f                	je     0x18013fa2a
18013fa0b:	48 8b 01             	mov    (%rcx),%rax
18013fa0e:	49 89 42 18          	mov    %rax,0x18(%r10)
18013fa12:	48 8b 41 08          	mov    0x8(%rcx),%rax
18013fa16:	49 89 42 20          	mov    %rax,0x20(%r10)
18013fa1a:	48 8b 41 18          	mov    0x18(%rcx),%rax
18013fa1e:	49 89 42 28          	mov    %rax,0x28(%r10)
18013fa22:	48 8b 41 20          	mov    0x20(%rcx),%rax
18013fa26:	49 89 42 30          	mov    %rax,0x30(%r10)
18013fa2a:	41 83 a2 a4 00 00 00 	andl   $0x0,0xa4(%r10)
18013fa31:	00
18013fa32:	48 8d 05 ff 01 00 00 	lea    0x1ff(%rip),%rax        # 0x18013fc38
18013fa39:	41 83 a2 a0 00 00 00 	andl   $0x0,0xa0(%r10)
18013fa40:	00
18013fa41:	be 01 00 00 00       	mov    $0x1,%esi
18013fa46:	49 83 a2 c0 00 00 00 	andq   $0x0,0xc0(%r10)
18013fa4d:	00
18013fa4e:	49 8b cb             	mov    %r11,%rcx
18013fa51:	49 89 42 08          	mov    %rax,0x8(%r10)
18013fa55:	48 8d 05 88 02 00 00 	lea    0x288(%rip),%rax        # 0x18013fce4
18013fa5c:	49 89 42 10          	mov    %rax,0x10(%r10)
18013fa60:	41 89 b2 88 00 00 00 	mov    %esi,0x88(%r10)
18013fa67:	41 c7 82 d0 00 00 00 	movl   $0x2,0xd0(%r10)
18013fa6e:	02 00 00 00
18013fa72:	41 c7 82 84 00 00 00 	movl   $0x1000,0x84(%r10)
18013fa79:	00 10 00 00
18013fa7d:	41 88 b2 be 00 00 00 	mov    %sil,0xbe(%r10)
18013fa84:	e8 ef fe ff ff       	call   0x18013f978
18013fa89:	84 c0                	test   %al,%al
18013fa8b:	75 4c                	jne    0x18013fad9
18013fa8d:	41 b8 4c 01 00 c0    	mov    $0xc000014c,%r8d
18013fa93:	48 85 db             	test   %rbx,%rbx
18013fa96:	74 39                	je     0x18013fad1
18013fa98:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18013fa9c:	83 f8 08             	cmp    $0x8,%eax
18013fa9f:	73 30                	jae    0x18013fad1
18013faa1:	48 8d 0c 06          	lea    (%rsi,%rax,1),%rcx
18013faa5:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
18013faa9:	c7 04 8b 19 00 00 00 	movl   $0x19,(%rbx,%rcx,4)
18013fab0:	0f b7 4b 08          	movzwl 0x8(%rbx),%ecx
18013fab4:	48 8d 14 49          	lea    (%rcx,%rcx,2),%rdx
18013fab8:	44 89 44 93 10       	mov    %r8d,0x10(%rbx,%rdx,4)
18013fabd:	0f b7 4b 08          	movzwl 0x8(%rbx),%ecx
18013fac1:	48 8d 14 49          	lea    (%rcx,%rcx,2),%rdx
18013fac5:	c7 44 93 14 80 00 00 	movl   $0x80,0x14(%rbx,%rdx,4)
18013facc:	00
18013facd:	66 01 73 08          	add    %si,0x8(%rbx)
18013fad1:	41 8b c0             	mov    %r8d,%eax
18013fad4:	e9 ee 00 00 00       	jmp    0x18013fbc7
18013fad9:	41 8b 43 18          	mov    0x18(%r11),%eax
18013fadd:	41 8b 4b 14          	mov    0x14(%r11),%ecx
18013fae1:	05 00 f0 ff ff       	add    $0xfffff000,%eax
18013fae6:	41 80 a2 8c 00 00 00 	andb   $0xfd,0x8c(%r10)
18013faed:	fd
18013faee:	4d 89 5a 40          	mov    %r11,0x40(%r10)
18013faf2:	41 89 b2 d0 00 00 00 	mov    %esi,0xd0(%r10)
18013faf9:	c1 e1 0c             	shl    $0xc,%ecx
18013fafc:	03 c8                	add    %eax,%ecx
18013fafe:	41 89 8a d4 00 00 00 	mov    %ecx,0xd4(%r10)
18013fb05:	41 83 a3 f8 0f 00 00 	andl   $0x0,0xff8(%r11)
18013fb0c:	00
18013fb0d:	41 8b 43 04          	mov    0x4(%r11),%eax
18013fb11:	41 89 82 a8 00 00 00 	mov    %eax,0xa8(%r10)
18013fb18:	41 89 82 b4 00 00 00 	mov    %eax,0xb4(%r10)
18013fb1f:	41 89 82 ac 00 00 00 	mov    %eax,0xac(%r10)
18013fb26:	e8 ad 51 ec ff       	call   0x180004cd8
18013fb2b:	8b d0                	mov    %eax,%edx
18013fb2d:	85 c0                	test   %eax,%eax
18013fb2f:	79 41                	jns    0x18013fb72
18013fb31:	48 85 db             	test   %rbx,%rbx
18013fb34:	74 38                	je     0x18013fb6e
18013fb36:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18013fb3a:	83 f8 08             	cmp    $0x8,%eax
18013fb3d:	73 2f                	jae    0x18013fb6e
18013fb3f:	48 8d 0c 06          	lea    (%rsi,%rax,1),%rcx
18013fb43:	48 8d 04 49          	lea    (%rcx,%rcx,2),%rax
18013fb47:	c7 04 83 19 00 00 00 	movl   $0x19,(%rbx,%rax,4)
18013fb4e:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18013fb52:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18013fb56:	89 54 8b 10          	mov    %edx,0x10(%rbx,%rcx,4)
18013fb5a:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18013fb5e:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18013fb62:	c7 44 8b 14 90 00 00 	movl   $0x90,0x14(%rbx,%rcx,4)
18013fb69:	00
18013fb6a:	66 01 73 08          	add    %si,0x8(%rbx)
18013fb6e:	8b c2                	mov    %edx,%eax
18013fb70:	eb 55                	jmp    0x18013fbc7
18013fb72:	49 8d 93 00 10 00 00 	lea    0x1000(%r11),%rdx
18013fb79:	45 33 c0             	xor    %r8d,%r8d
18013fb7c:	49 8b ca             	mov    %r10,%rcx
18013fb7f:	e8 c4 06 00 00       	call   0x180140248
18013fb84:	8b d0                	mov    %eax,%edx
18013fb86:	85 c0                	test   %eax,%eax
18013fb88:	79 3b                	jns    0x18013fbc5
18013fb8a:	48 85 db             	test   %rbx,%rbx
18013fb8d:	74 df                	je     0x18013fb6e
18013fb8f:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18013fb93:	83 f8 08             	cmp    $0x8,%eax
18013fb96:	73 d6                	jae    0x18013fb6e
18013fb98:	48 8d 0c 06          	lea    (%rsi,%rax,1),%rcx
18013fb9c:	48 8d 04 49          	lea    (%rcx,%rcx,2),%rax
18013fba0:	c7 04 83 19 00 00 00 	movl   $0x19,(%rbx,%rax,4)
18013fba7:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18013fbab:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18013fbaf:	89 54 8b 10          	mov    %edx,0x10(%rbx,%rcx,4)
18013fbb3:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18013fbb7:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18013fbbb:	c7 44 8b 14 a0 00 00 	movl   $0xa0,0x14(%rbx,%rcx,4)
18013fbc2:	00
18013fbc3:	eb a5                	jmp    0x18013fb6a
18013fbc5:	33 c0                	xor    %eax,%eax
18013fbc7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18013fbcc:	48 83 c4 20          	add    $0x20,%rsp
18013fbd0:	5e                   	pop    %rsi
18013fbd1:	c3                   	ret
18013fbd2:	cc                   	int3
18013fbd3:	cc                   	int3
18013fbd4:	44 8b c2             	mov    %edx,%r8d
18013fbd7:	4c 8b c9             	mov    %rcx,%r9
18013fbda:	41 c1 e8 1f          	shr    $0x1f,%r8d
18013fbde:	41 8b c0             	mov    %r8d,%eax
18013fbe1:	41 c1 e0 1f          	shl    $0x1f,%r8d
18013fbe5:	48 69 c0 78 02 00 00 	imul   $0x278,%rax,%rax
18013fbec:	44 03 c2             	add    %edx,%r8d
18013fbef:	44 3b 84 08 10 01 00 	cmp    0x110(%rax,%rcx,1),%r8d
18013fbf6:	00
18013fbf7:	72 04                	jb     0x18013fbfd
18013fbf9:	33 c0                	xor    %eax,%eax
18013fbfb:	c3                   	ret
18013fbfc:	cc                   	int3
18013fbfd:	4a 8b 84 08 18 01 00 	mov    0x118(%rax,%r9,1),%rax
18013fc04:	00
18013fc05:	8b ca                	mov    %edx,%ecx
18013fc07:	8b d2                	mov    %edx,%edx
18013fc09:	48 c1 ea 15          	shr    $0x15,%rdx
18013fc0d:	48 c1 e9 0c          	shr    $0xc,%rcx
18013fc11:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
18013fc17:	81 e1 ff 01 00 00    	and    $0x1ff,%ecx
18013fc1d:	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
18013fc21:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
18013fc25:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
18013fc29:	c3                   	ret
18013fc2a:	cc                   	int3
18013fc2b:	cc                   	int3
18013fc2c:	33 c0                	xor    %eax,%eax
18013fc2e:	48 89 01             	mov    %rax,(%rcx)
18013fc31:	83 09 ff             	orl    $0xffffffff,(%rcx)
18013fc34:	c3                   	ret
18013fc35:	cc                   	int3
18013fc36:	cc                   	int3
18013fc37:	cc                   	int3
18013fc38:	44 8b d2             	mov    %edx,%r10d
18013fc3b:	4c 8b d9             	mov    %rcx,%r11
18013fc3e:	85 d2                	test   %edx,%edx
18013fc40:	0f 88 98 00 00 00    	js     0x18013fcde
18013fc46:	41 83 fa ff          	cmp    $0xffffffff,%r10d
18013fc4a:	0f 84 8e 00 00 00    	je     0x18013fcde
18013fc50:	41 f6 c2 07          	test   $0x7,%r10b
18013fc54:	0f 85 84 00 00 00    	jne    0x18013fcde
18013fc5a:	44 3b 91 10 01 00 00 	cmp    0x110(%rcx),%r10d
18013fc61:	73 7b                	jae    0x18013fcde
18013fc63:	8a 05 8f 59 05 00    	mov    0x5598f(%rip),%al        # 0x1801955f8
18013fc69:	3c 01                	cmp    $0x1,%al
18013fc6b:	74 71                	je     0x18013fcde
18013fc6d:	41 8b c2             	mov    %r10d,%eax
18013fc70:	45 8b ca             	mov    %r10d,%r9d
18013fc73:	48 c1 e8 1f          	shr    $0x1f,%rax
18013fc77:	41 81 e1 ff 0f 00 00 	and    $0xfff,%r9d
18013fc7e:	48 69 c8 78 02 00 00 	imul   $0x278,%rax,%rcx
18013fc85:	41 8b c2             	mov    %r10d,%eax
18013fc88:	45 8b c2             	mov    %r10d,%r8d
18013fc8b:	48 c1 e8 0c          	shr    $0xc,%rax
18013fc8f:	25 ff 01 00 00       	and    $0x1ff,%eax
18013fc94:	49 c1 e8 15          	shr    $0x15,%r8
18013fc98:	41 81 e0 ff 03 00 00 	and    $0x3ff,%r8d
18013fc9f:	4a 8b 94 19 18 01 00 	mov    0x118(%rcx,%r11,1),%rdx
18013fca6:	00
18013fca7:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18013fcab:	4a 8b 04 c2          	mov    (%rdx,%r8,8),%rax
18013fcaf:	48 8b 54 c8 08       	mov    0x8(%rax,%rcx,8),%rdx
18013fcb4:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
18013fcb8:	49 03 d1             	add    %r9,%rdx
18013fcbb:	48 03 14 c8          	add    (%rax,%rcx,8),%rdx
18013fcbf:	8b 02                	mov    (%rdx),%eax
18013fcc1:	f7 d8                	neg    %eax
18013fcc3:	85 c0                	test   %eax,%eax
18013fcc5:	7e 11                	jle    0x18013fcd8
18013fcc7:	41 03 c2             	add    %r10d,%eax
18013fcca:	41 3b c2             	cmp    %r10d,%eax
18013fccd:	72 0f                	jb     0x18013fcde
18013fccf:	41 3b 83 10 01 00 00 	cmp    0x110(%r11),%eax
18013fcd6:	77 06                	ja     0x18013fcde
18013fcd8:	48 8d 42 04          	lea    0x4(%rdx),%rax
18013fcdc:	c3                   	ret
18013fcdd:	cc                   	int3
18013fcde:	33 c0                	xor    %eax,%eax
18013fce0:	c3                   	ret
18013fce1:	cc                   	int3
18013fce2:	cc                   	int3
18013fce3:	cc                   	int3
18013fce4:	c2 00 00             	ret    $0x0
18013fce7:	cc                   	int3
18013fce8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18013fced:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18013fcf2:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18013fcf7:	56                   	push   %rsi
18013fcf8:	57                   	push   %rdi
18013fcf9:	41 56                	push   %r14
18013fcfb:	48 83 ec 20          	sub    $0x20,%rsp
18013fcff:	41 8b d8             	mov    %r8d,%ebx
18013fd02:	44 8b d2             	mov    %edx,%r10d
18013fd05:	48 8b f1             	mov    %rcx,%rsi
18013fd08:	e8 c7 fe ff ff       	call   0x18013fbd4
18013fd0d:	41 8b fa             	mov    %r10d,%edi
18013fd10:	48 8b ce             	mov    %rsi,%rcx
18013fd13:	81 e7 00 f0 ff ff    	and    $0xfffff000,%edi
18013fd19:	2b 38                	sub    (%rax),%edi
18013fd1b:	8b d7                	mov    %edi,%edx
18013fd1d:	e8 b2 fe ff ff       	call   0x18013fbd4
18013fd22:	44 8b 70 10          	mov    0x10(%rax),%r14d
18013fd26:	41 8d 2c 3e          	lea    (%r14,%rdi,1),%ebp
18013fd2a:	85 ff                	test   %edi,%edi
18013fd2c:	0f 84 8a 00 00 00    	je     0x18013fdbc
18013fd32:	8b cf                	mov    %edi,%ecx
18013fd34:	48 83 c1 20          	add    $0x20,%rcx
18013fd38:	4c 3b d1             	cmp    %rcx,%r10
18013fd3b:	75 7f                	jne    0x18013fdbc
18013fd3d:	41 8d 04 1a          	lea    (%r10,%rbx,1),%eax
18013fd41:	3b c5                	cmp    %ebp,%eax
18013fd43:	75 77                	jne    0x18013fdbc
18013fd45:	48 8b 46 18          	mov    0x18(%rsi),%rax
18013fd49:	33 d2                	xor    %edx,%edx
18013fd4b:	41 b8 43 4d 37 20    	mov    $0x20374d43,%r8d
18013fd51:	8d 4a 18             	lea    0x18(%rdx),%ecx
18013fd54:	ff d0                	call   *%rax
18013fd56:	0f 1f 00             	nopl   (%rax)
18013fd59:	4c 8b d0             	mov    %rax,%r10
18013fd5c:	48 85 c0             	test   %rax,%rax
18013fd5f:	74 5b                	je     0x18013fdbc
18013fd61:	48 83 20 00          	andq   $0x0,(%rax)
18013fd65:	8b cf                	mov    %edi,%ecx
18013fd67:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
18013fd6c:	0f ba f1 1f          	btr    $0x1f,%ecx
18013fd70:	44 89 70 10          	mov    %r14d,0x10(%rax)
18013fd74:	89 48 14             	mov    %ecx,0x14(%rax)
18013fd77:	eb 18                	jmp    0x18013fd91
18013fd79:	8b d7                	mov    %edi,%edx
18013fd7b:	48 8b ce             	mov    %rsi,%rcx
18013fd7e:	e8 51 fe ff ff       	call   0x18013fbd4
18013fd83:	48 83 48 08 02       	orq    $0x2,0x8(%rax)
18013fd88:	81 c7 00 10 00 00    	add    $0x1000,%edi
18013fd8e:	4c 89 10             	mov    %r10,(%rax)
18013fd91:	3b fd                	cmp    %ebp,%edi
18013fd93:	72 e4                	jb     0x18013fd79
18013fd95:	48 8d 86 70 03 00 00 	lea    0x370(%rsi),%rax
18013fd9c:	48 8b 08             	mov    (%rax),%rcx
18013fd9f:	48 39 41 08          	cmp    %rax,0x8(%rcx)
18013fda3:	74 07                	je     0x18013fdac
18013fda5:	b9 03 00 00 00       	mov    $0x3,%ecx
18013fdaa:	cd 29                	int    $0x29
18013fdac:	49 89 0a             	mov    %rcx,(%r10)
18013fdaf:	49 89 42 08          	mov    %rax,0x8(%r10)
18013fdb3:	4c 89 51 08          	mov    %r10,0x8(%rcx)
18013fdb7:	4c 89 10             	mov    %r10,(%rax)
18013fdba:	eb 0d                	jmp    0x18013fdc9
18013fdbc:	c1 eb 03             	shr    $0x3,%ebx
18013fdbf:	ff cb                	dec    %ebx
18013fdc1:	83 fb 10             	cmp    $0x10,%ebx
18013fdc4:	72 03                	jb     0x18013fdc9
18013fdc6:	c1 eb 04             	shr    $0x4,%ebx
18013fdc9:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18013fdce:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18013fdd3:	48 83 c4 20          	add    $0x20,%rsp
18013fdd7:	41 5e                	pop    %r14
18013fdd9:	5f                   	pop    %rdi
18013fdda:	5e                   	pop    %rsi
18013fddb:	c3                   	ret
18013fddc:	cc                   	int3
18013fddd:	cc                   	int3
18013fdde:	cc                   	int3
18013fddf:	cc                   	int3
18013fde0:	40 53                	rex push %rbx
18013fde2:	48 83 ec 20          	sub    $0x20,%rsp
18013fde6:	83 4c 24 30 ff       	orl    $0xffffffff,0x30(%rsp)
18013fdeb:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
18013fdf0:	33 c0                	xor    %eax,%eax
18013fdf2:	48 8b d9             	mov    %rcx,%rbx
18013fdf5:	89 44 24 34          	mov    %eax,0x34(%rsp)
18013fdf9:	48 8b 41 08          	mov    0x8(%rcx),%rax
18013fdfd:	ff d0                	call   *%rax
18013fdff:	0f 1f 00             	nopl   (%rax)
18013fe02:	48 85 c0             	test   %rax,%rax
18013fe05:	74 26                	je     0x18013fe2d
18013fe07:	48 83 c0 fc          	add    $0xfffffffffffffffc,%rax
18013fe0b:	74 20                	je     0x18013fe2d
18013fe0d:	8b 00                	mov    (%rax),%eax
18013fe0f:	c1 e8 03             	shr    $0x3,%eax
18013fe12:	ff c8                	dec    %eax
18013fe14:	83 f8 10             	cmp    $0x10,%eax
18013fe17:	72 03                	jb     0x18013fe1c
18013fe19:	c1 e8 04             	shr    $0x4,%eax
18013fe1c:	48 8b 43 10          	mov    0x10(%rbx),%rax
18013fe20:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18013fe25:	48 8b cb             	mov    %rbx,%rcx
18013fe28:	ff d0                	call   *%rax
18013fe2a:	0f 1f 00             	nopl   (%rax)
18013fe2d:	48 83 c4 20          	add    $0x20,%rsp
18013fe31:	5b                   	pop    %rbx
18013fe32:	c3                   	ret
18013fe33:	cc                   	int3
18013fe34:	48 8b c4             	mov    %rsp,%rax
18013fe37:	48 89 58 10          	mov    %rbx,0x10(%rax)
18013fe3b:	48 89 68 18          	mov    %rbp,0x18(%rax)
18013fe3f:	48 89 70 20          	mov    %rsi,0x20(%rax)
18013fe43:	57                   	push   %rdi
18013fe44:	48 83 ec 20          	sub    $0x20,%rsp
18013fe48:	8b f2                	mov    %edx,%esi
18013fe4a:	4d 8b c8             	mov    %r8,%r9
18013fe4d:	33 d2                	xor    %edx,%edx
18013fe4f:	48 8b f9             	mov    %rcx,%rdi