140012a9a:	48 63 10             	movslq (%rax),%rdx
140012a9d:	49 8b 43 40          	mov    0x40(%r11),%rax
140012aa1:	48 8b 08             	mov    (%rax),%rcx
140012aa4:	49 8b 43 20          	mov    0x20(%r11),%rax
140012aa8:	4c 8d 04 51          	lea    (%rcx,%rdx,2),%r8
140012aac:	48 89 38             	mov    %rdi,(%rax)
140012aaf:	4c 2b c6             	sub    %rsi,%r8
140012ab2:	49 8b 43 40          	mov    0x40(%r11),%rax
140012ab6:	49 d1 f8             	sar    $1,%r8
140012ab9:	48 89 30             	mov    %rsi,(%rax)
140012abc:	49 8b 43 58          	mov    0x58(%r11),%rax
140012ac0:	44 89 00             	mov    %r8d,(%rax)
140012ac3:	4d 89 0a             	mov    %r9,(%r10)
140012ac6:	eb 04                	jmp    0x140012acc
140012ac8:	49 83 0a ff          	orq    $0xffffffffffffffff,(%r10)
140012acc:	49 83 62 08 00       	andq   $0x0,0x8(%r10)
140012ad1:	33 c0                	xor    %eax,%eax
140012ad3:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140012ad8:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140012add:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140012ae2:	49 89 42 10          	mov    %rax,0x10(%r10)
140012ae6:	49 8b c2             	mov    %r10,%rax
140012ae9:	c3                   	ret
140012aea:	90                   	nop
140012aeb:	90                   	nop
140012aec:	90                   	nop
140012aed:	90                   	nop
140012aee:	90                   	nop
140012aef:	90                   	nop
140012af0:	4c 8b 51 38          	mov    0x38(%rcx),%r10
140012af4:	4c 8b c1             	mov    %rcx,%r8
140012af7:	4d 8b 0a             	mov    (%r10),%r9
140012afa:	4d 85 c9             	test   %r9,%r9
140012afd:	74 57                	je     0x140012b56
140012aff:	48 8b 51 50          	mov    0x50(%rcx),%rdx
140012b03:	48 63 0a             	movslq (%rdx),%rcx
140012b06:	49 8d 14 49          	lea    (%r9,%rcx,2),%rdx
140012b0a:	4c 3b ca             	cmp    %rdx,%r9
140012b0d:	73 05                	jae    0x140012b14
140012b0f:	41 0f b7 01          	movzwl (%r9),%eax
140012b13:	c3                   	ret
140012b14:	49 8b 40 40          	mov    0x40(%r8),%rax
140012b18:	48 83 38 00          	cmpq   $0x0,(%rax)
140012b1c:	74 38                	je     0x140012b56
140012b1e:	41 f6 40 70 04       	testb  $0x4,0x70(%r8)
140012b23:	75 31                	jne    0x140012b56
140012b25:	49 8b 50 68          	mov    0x68(%r8),%rdx
140012b29:	48 3b 10             	cmp    (%rax),%rdx
140012b2c:	48 0f 42 10          	cmovb  (%rax),%rdx
140012b30:	49 3b d1             	cmp    %r9,%rdx
140012b33:	76 21                	jbe    0x140012b56
140012b35:	49 89 50 68          	mov    %rdx,0x68(%r8)
140012b39:	49 8b 0a             	mov    (%r10),%rcx
140012b3c:	49 89 0a             	mov    %rcx,(%r10)
140012b3f:	48 2b d1             	sub    %rcx,%rdx
140012b42:	49 8b 40 50          	mov    0x50(%r8),%rax
140012b46:	48 d1 fa             	sar    $1,%rdx
140012b49:	89 10                	mov    %edx,(%rax)
140012b4b:	49 8b 40 38          	mov    0x38(%r8),%rax
140012b4f:	48 8b 00             	mov    (%rax),%rax
140012b52:	0f b7 00             	movzwl (%rax),%eax
140012b55:	c3                   	ret
140012b56:	b8 ff ff 00 00       	mov    $0xffff,%eax
140012b5b:	c3                   	ret
140012b5c:	90                   	nop
140012b5d:	90                   	nop
140012b5e:	90                   	nop
140012b5f:	90                   	nop
140012b60:	48 8b 41 38          	mov    0x38(%rcx),%rax
140012b64:	45 33 d2             	xor    %r10d,%r10d
140012b67:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
140012b6d:	4c 8b 00             	mov    (%rax),%r8
140012b70:	4d 85 c0             	test   %r8,%r8
140012b73:	74 43                	je     0x140012bb8
140012b75:	48 8b 41 18          	mov    0x18(%rcx),%rax
140012b79:	4c 3b 00             	cmp    (%rax),%r8
140012b7c:	76 3a                	jbe    0x140012bb8
140012b7e:	66 44 3b ca          	cmp    %dx,%r9w
140012b82:	74 0d                	je     0x140012b91
140012b84:	66 41 3b 50 fe       	cmp    -0x2(%r8),%dx
140012b89:	74 06                	je     0x140012b91
140012b8b:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
140012b8f:	75 27                	jne    0x140012bb8
140012b91:	48 8b 41 50          	mov    0x50(%rcx),%rax
140012b95:	ff 00                	incl   (%rax)
140012b97:	48 8b 41 38          	mov    0x38(%rcx),%rax
140012b9b:	48 83 00 fe          	addq   $0xfffffffffffffffe,(%rax)
140012b9f:	66 44 3b ca          	cmp    %dx,%r9w
140012ba3:	74 0a                	je     0x140012baf
140012ba5:	48 8b 41 38          	mov    0x38(%rcx),%rax
140012ba9:	48 8b 08             	mov    (%rax),%rcx
140012bac:	66 89 11             	mov    %dx,(%rcx)
140012baf:	66 41 0f 44 d2       	cmove  %r10w,%dx
140012bb4:	0f b7 c2             	movzwl %dx,%eax
140012bb7:	c3                   	ret
140012bb8:	41 0f b7 c1          	movzwl %r9w,%eax
140012bbc:	c3                   	ret
140012bbd:	90                   	nop
140012bbe:	90                   	nop
140012bbf:	90                   	nop
140012bc0:	48 8b c4             	mov    %rsp,%rax
140012bc3:	48 89 58 08          	mov    %rbx,0x8(%rax)
140012bc7:	48 89 68 10          	mov    %rbp,0x10(%rax)
140012bcb:	48 89 70 18          	mov    %rsi,0x18(%rax)
140012bcf:	48 89 78 20          	mov    %rdi,0x20(%rax)
140012bd3:	41 54                	push   %r12
140012bd5:	41 56                	push   %r14
140012bd7:	41 57                	push   %r15
140012bd9:	48 83 ec 20          	sub    $0x20,%rsp
140012bdd:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
140012be1:	44 0f b7 e2          	movzwl %dx,%r12d
140012be5:	48 8b d9             	mov    %rcx,%rbx
140012be8:	41 ba ff ff 00 00    	mov    $0xffff,%r10d
140012bee:	0f 85 b9 01 00 00    	jne    0x140012dad
140012bf4:	33 f6                	xor    %esi,%esi
140012bf6:	66 44 3b d2          	cmp    %dx,%r10w
140012bfa:	75 08                	jne    0x140012c04
140012bfc:	0f b7 c6             	movzwl %si,%eax
140012bff:	e9 ad 01 00 00       	jmp    0x140012db1
140012c04:	48 8b 41 40          	mov    0x40(%rcx),%rax
140012c08:	48 8b 51 58          	mov    0x58(%rcx),%rdx
140012c0c:	4c 8b 00             	mov    (%rax),%r8
140012c0f:	4c 63 0a             	movslq (%rdx),%r9
140012c12:	4b 8d 0c 48          	lea    (%r8,%r9,2),%rcx
140012c16:	4d 85 c0             	test   %r8,%r8
140012c19:	74 2e                	je     0x140012c49
140012c1b:	4c 3b c1             	cmp    %rcx,%r8
140012c1e:	73 29                	jae    0x140012c49
140012c20:	41 8d 41 ff          	lea    -0x1(%r9),%eax
140012c24:	89 02                	mov    %eax,(%rdx)
140012c26:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140012c2a:	48 8b 11             	mov    (%rcx),%rdx
140012c2d:	48 8d 42 02          	lea    0x2(%rdx),%rax
140012c31:	48 89 01             	mov    %rax,(%rcx)
140012c34:	49 8d 40 02          	lea    0x2(%r8),%rax
140012c38:	66 44 89 22          	mov    %r12w,(%rdx)
140012c3c:	48 89 43 68          	mov    %rax,0x68(%rbx)
140012c40:	41 0f b7 c4          	movzwl %r12w,%eax
140012c44:	e9 68 01 00 00       	jmp    0x140012db1
140012c49:	48 8b 43 18          	mov    0x18(%rbx),%rax
140012c4d:	48 8b fe             	mov    %rsi,%rdi
140012c50:	48 8b 28             	mov    (%rax),%rbp
140012c53:	4d 85 c0             	test   %r8,%r8
140012c56:	74 09                	je     0x140012c61
140012c58:	48 8b f9             	mov    %rcx,%rdi
140012c5b:	48 2b fd             	sub    %rbp,%rdi
140012c5e:	48 d1 ff             	sar    $1,%rdi
140012c61:	b8 20 00 00 00       	mov    $0x20,%eax
140012c66:	48 3b f8             	cmp    %rax,%rdi
140012c69:	72 1d                	jb     0x140012c88
140012c6b:	48 81 ff ff ff ff 3f 	cmp    $0x3fffffff,%rdi
140012c72:	73 06                	jae    0x140012c7a
140012c74:	48 8d 04 3f          	lea    (%rdi,%rdi,1),%rax
140012c78:	eb 0e                	jmp    0x140012c88
140012c7a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140012c7f:	48 3b f8             	cmp    %rax,%rdi
140012c82:	0f 83 25 01 00 00    	jae    0x140012dad
140012c88:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
140012c8f:	ff ff 7f
140012c92:	48 3b c1             	cmp    %rcx,%rax
140012c95:	0f 87 35 01 00 00    	ja     0x140012dd0
140012c9b:	4c 8d 3c 00          	lea    (%rax,%rax,1),%r15
140012c9f:	4d 85 ff             	test   %r15,%r15
140012ca2:	75 5a                	jne    0x140012cfe
140012ca4:	4c 8b f6             	mov    %rsi,%r14
140012ca7:	48 03 ff             	add    %rdi,%rdi
140012caa:	48 8b d5             	mov    %rbp,%rdx
140012cad:	4c 8b c7             	mov    %rdi,%r8
140012cb0:	49 8b ce             	mov    %r14,%rcx
140012cb3:	e8 e8 ed 01 00       	call   0x140031aa0
140012cb8:	49 8d 0c 3e          	lea    (%r14,%rdi,1),%rcx
140012cbc:	4c 2b f9             	sub    %rcx,%r15
140012cbf:	48 8d 41 02          	lea    0x2(%rcx),%rax
140012cc3:	48 89 43 68          	mov    %rax,0x68(%rbx)
140012cc7:	4d 03 fe             	add    %r14,%r15
140012cca:	48 8b 43 20          	mov    0x20(%rbx),%rax
140012cce:	49 d1 ff             	sar    $1,%r15
140012cd1:	4c 89 30             	mov    %r14,(%rax)
140012cd4:	48 8b 43 40          	mov    0x40(%rbx),%rax
140012cd8:	48 89 08             	mov    %rcx,(%rax)
140012cdb:	48 8b 43 58          	mov    0x58(%rbx),%rax
140012cdf:	44 89 38             	mov    %r15d,(%rax)
140012ce2:	f6 43 70 04          	testb  $0x4,0x70(%rbx)
140012ce6:	74 41                	je     0x140012d29
140012ce8:	48 8b 43 18          	mov    0x18(%rbx),%rax
140012cec:	4c 89 30             	mov    %r14,(%rax)
140012cef:	48 8b 43 38          	mov    0x38(%rbx),%rax
140012cf3:	4c 89 30             	mov    %r14,(%rax)
140012cf6:	48 8b 43 50          	mov    0x50(%rbx),%rax
140012cfa:	89 30                	mov    %esi,(%rax)
140012cfc:	eb 5b                	jmp    0x140012d59
140012cfe:	49 8b cf             	mov    %r15,%rcx
140012d01:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
140012d08:	72 0a                	jb     0x140012d14
140012d0a:	e8 fd 64 ff ff       	call   0x14000920c
140012d0f:	4c 8b f0             	mov    %rax,%r14
140012d12:	eb 93                	jmp    0x140012ca7
140012d14:	ff 15 f6 17 02 00    	call   *0x217f6(%rip)        # 0x140034510
140012d1a:	4c 8b f0             	mov    %rax,%r14
140012d1d:	48 85 c0             	test   %rax,%rax
140012d20:	75 85                	jne    0x140012ca7
140012d22:	ff 15 78 16 02 00    	call   *0x21678(%rip)        # 0x1400343a0
140012d28:	cc                   	int3
140012d29:	48 8b 43 38          	mov    0x38(%rbx),%rax
140012d2d:	4c 8b 43 68          	mov    0x68(%rbx),%r8
140012d31:	48 8b 08             	mov    (%rax),%rcx
140012d34:	48 8b 43 18          	mov    0x18(%rbx),%rax
140012d38:	48 2b cd             	sub    %rbp,%rcx
140012d3b:	48 d1 f9             	sar    $1,%rcx
140012d3e:	4c 89 30             	mov    %r14,(%rax)
140012d41:	48 8b 43 38          	mov    0x38(%rbx),%rax
140012d45:	49 8d 14 4e          	lea    (%r14,%rcx,2),%rdx
140012d49:	4c 2b c2             	sub    %rdx,%r8
140012d4c:	49 d1 f8             	sar    $1,%r8
140012d4f:	48 89 10             	mov    %rdx,(%rax)
140012d52:	48 8b 43 50          	mov    0x50(%rbx),%rax
140012d56:	44 89 00             	mov    %r8d,(%rax)
140012d59:	f6 43 70 01          	testb  $0x1,0x70(%rbx)
140012d5d:	74 26                	je     0x140012d85
140012d5f:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
140012d66:	72 14                	jb     0x140012d7c
140012d68:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140012d6c:	48 2b e9             	sub    %rcx,%rbp
140012d6f:	48 8d 45 f8          	lea    -0x8(%rbp),%rax
140012d73:	48 83 f8 1f          	cmp    $0x1f,%rax
140012d77:	77 2d                	ja     0x140012da6
140012d79:	48 8b e9             	mov    %rcx,%rbp
140012d7c:	48 8b cd             	mov    %rbp,%rcx
140012d7f:	ff 15 83 17 02 00    	call   *0x21783(%rip)        # 0x140034508
140012d85:	48 8b 43 58          	mov    0x58(%rbx),%rax
140012d89:	83 4b 70 01          	orl    $0x1,0x70(%rbx)
140012d8d:	ff 08                	decl   (%rax)
140012d8f:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140012d93:	48 8b 11             	mov    (%rcx),%rdx
140012d96:	48 8d 42 02          	lea    0x2(%rdx),%rax
140012d9a:	48 89 01             	mov    %rax,(%rcx)
140012d9d:	66 44 89 22          	mov    %r12w,(%rdx)
140012da1:	e9 9a fe ff ff       	jmp    0x140012c40
140012da6:	ff 15 f4 16 02 00    	call   *0x216f4(%rip)        # 0x1400344a0
140012dac:	cc                   	int3
140012dad:	41 0f b7 c2          	movzwl %r10w,%eax
140012db1:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140012db6:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140012dbb:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140012dc0:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140012dc5:	48 83 c4 20          	add    $0x20,%rsp
140012dc9:	41 5f                	pop    %r15
140012dcb:	41 5e                	pop    %r14
140012dcd:	41 5c                	pop    %r12
140012dcf:	c3                   	ret
140012dd0:	e8 7b 6a ff ff       	call   0x140009850
140012dd5:	cc                   	int3
140012dd6:	90                   	nop
140012dd7:	90                   	nop
140012dd8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140012ddd:	57                   	push   %rdi
140012dde:	48 83 ec 20          	sub    $0x20,%rsp
140012de2:	48 8b 81 68 ff ff ff 	mov    -0x98(%rcx),%rax
140012de9:	48 8d 59 80          	lea    -0x80(%rcx),%rbx
140012ded:	48 8b f9             	mov    %rcx,%rdi
140012df0:	48 63 50 04          	movslq 0x4(%rax),%rdx
140012df4:	48 8d 05 1d 40 02 00 	lea    0x2401d(%rip),%rax        # 0x140036e18
140012dfb:	48 89 84 0a 68 ff ff 	mov    %rax,-0x98(%rdx,%rcx,1)
140012e02:	ff
140012e03:	48 8b 81 68 ff ff ff 	mov    -0x98(%rcx),%rax
140012e0a:	48 63 50 04          	movslq 0x4(%rax),%rdx
140012e0e:	48 8d 05 13 40 02 00 	lea    0x24013(%rip),%rax        # 0x140036e28
140012e15:	44 8d 82 68 ff ff ff 	lea    -0x98(%rdx),%r8d
140012e1c:	44 89 84 0a 64 ff ff 	mov    %r8d,-0x9c(%rdx,%rcx,1)
140012e23:	ff
140012e24:	48 8b cb             	mov    %rbx,%rcx
140012e27:	48 89 03             	mov    %rax,(%rbx)
140012e2a:	e8 65 01 00 00       	call   0x140012f94
140012e2f:	48 8b cb             	mov    %rbx,%rcx
140012e32:	ff 15 c8 15 02 00    	call   *0x215c8(%rip)        # 0x140034400
140012e38:	48 8d 4f 88          	lea    -0x78(%rdi),%rcx
140012e3c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140012e41:	48 83 c4 20          	add    $0x20,%rsp
140012e45:	5f                   	pop    %rdi
140012e46:	48 ff 25 cb 14 02 00 	rex.W jmp *0x214cb(%rip)        # 0x140034318
140012e4d:	cc                   	int3
140012e4e:	90                   	nop
140012e4f:	90                   	nop
140012e50:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140012e55:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140012e5a:	57                   	push   %rdi
140012e5b:	48 83 ec 20          	sub    $0x20,%rsp
140012e5f:	48 8b f9             	mov    %rcx,%rdi
140012e62:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140012e67:	85 d2                	test   %edx,%edx
140012e69:	74 2a                	je     0x140012e95
140012e6b:	48 8d 05 52 60 02 00 	lea    0x26052(%rip),%rax        # 0x140038ec4
140012e72:	48 89 01             	mov    %rax,(%rcx)
140012e75:	48 8d 05 50 60 02 00 	lea    0x26050(%rip),%rax        # 0x140038ecc
140012e7c:	48 89 41 10          	mov    %rax,0x10(%rcx)
140012e80:	48 81 c1 98 00 00 00 	add    $0x98,%rcx
140012e87:	ff 15 73 14 02 00    	call   *0x21473(%rip)        # 0x140034300
140012e8d:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140012e94:	00
140012e95:	48 8d 5f 18          	lea    0x18(%rdi),%rbx
140012e99:	45 33 c0             	xor    %r8d,%r8d
140012e9c:	48 8b d3             	mov    %rbx,%rdx
140012e9f:	48 8b cf             	mov    %rdi,%rcx
140012ea2:	ff 15 68 14 02 00    	call   *0x21468(%rip)        # 0x140034310
140012ea8:	48 8b 07             	mov    (%rdi),%rax
140012eab:	48 63 48 04          	movslq 0x4(%rax),%rcx
140012eaf:	48 8d 05 62 3f 02 00 	lea    0x23f62(%rip),%rax        # 0x140036e18
140012eb6:	48 89 04 39          	mov    %rax,(%rcx,%rdi,1)
140012eba:	48 8b 07             	mov    (%rdi),%rax
140012ebd:	48 63 48 04          	movslq 0x4(%rax),%rcx
140012ec1:	8d 91 68 ff ff ff    	lea    -0x98(%rcx),%edx
140012ec7:	89 54 39 fc          	mov    %edx,-0x4(%rcx,%rdi,1)
140012ecb:	48 8b cb             	mov    %rbx,%rcx
140012ece:	66 90                	xchg   %ax,%ax
140012ed0:	ff 15 22 15 02 00    	call   *0x21522(%rip)        # 0x1400343f8
140012ed6:	48 8d 05 4b 3f 02 00 	lea    0x23f4b(%rip),%rax        # 0x140036e28
140012edd:	48 89 03             	mov    %rax,(%rbx)
140012ee0:	48 83 63 68 00       	andq   $0x0,0x68(%rbx)
140012ee5:	83 63 70 00          	andl   $0x0,0x70(%rbx)
140012ee9:	48 8b c7             	mov    %rdi,%rax
140012eec:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140012ef1:	48 83 c4 20          	add    $0x20,%rsp
140012ef5:	5f                   	pop    %rdi
140012ef6:	c3                   	ret
140012ef7:	90                   	nop
140012ef8:	90                   	nop
140012ef9:	90                   	nop
140012efa:	90                   	nop
140012efb:	90                   	nop
140012efc:	90                   	nop
140012efd:	90                   	nop
140012efe:	90                   	nop
140012eff:	90                   	nop
140012f00:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140012f05:	57                   	push   %rdi
140012f06:	48 83 ec 20          	sub    $0x20,%rsp
140012f0a:	48 8d 05 17 3f 02 00 	lea    0x23f17(%rip),%rax        # 0x140036e28
140012f11:	8b da                	mov    %edx,%ebx
140012f13:	48 89 01             	mov    %rax,(%rcx)
140012f16:	48 8b f9             	mov    %rcx,%rdi
140012f19:	e8 76 00 00 00       	call   0x140012f94
140012f1e:	48 8b cf             	mov    %rdi,%rcx
140012f21:	ff 15 d9 14 02 00    	call   *0x214d9(%rip)        # 0x140034400
140012f27:	f6 c3 01             	test   $0x1,%bl
140012f2a:	74 09                	je     0x140012f35
140012f2c:	48 8b cf             	mov    %rdi,%rcx
140012f2f:	ff 15 bb 66 03 00    	call   *0x366bb(%rip)        # 0x1400495f0
140012f35:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140012f3a:	48 8b c7             	mov    %rdi,%rax
140012f3d:	48 83 c4 20          	add    $0x20,%rsp