140e62d82:	48 83 ec 20          	sub    $0x20,%rsp
140e62d86:	48 8b d9             	mov    %rcx,%rbx
140e62d89:	e8 4e ed ff ff       	call   0x140e61adc
140e62d8e:	89 03                	mov    %eax,(%rbx)
140e62d90:	e8 37 ee ff ff       	call   0x140e61bcc
140e62d95:	89 43 04             	mov    %eax,0x4(%rbx)
140e62d98:	33 c0                	xor    %eax,%eax
140e62d9a:	48 83 c4 20          	add    $0x20,%rsp
140e62d9e:	5b                   	pop    %rbx
140e62d9f:	c3                   	ret
140e62da0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e62da5:	57                   	push   %rdi
140e62da6:	48 83 ec 20          	sub    $0x20,%rsp
140e62daa:	48 8b d9             	mov    %rcx,%rbx
140e62dad:	8b 09                	mov    (%rcx),%ecx
140e62daf:	e8 70 ee ff ff       	call   0x140e61c24
140e62db4:	8b 4b 04             	mov    0x4(%rbx),%ecx
140e62db7:	e8 a0 ef ff ff       	call   0x140e61d5c
140e62dbc:	33 ff                	xor    %edi,%edi
140e62dbe:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140e62dc3:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140e62dc8:	e8 b3 ff ff ff       	call   0x140e62d80
140e62dcd:	85 c0                	test   %eax,%eax
140e62dcf:	75 17                	jne    0x140e62de8
140e62dd1:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140e62dd5:	39 0b                	cmp    %ecx,(%rbx)
140e62dd7:	75 0f                	jne    0x140e62de8
140e62dd9:	8b 4c 24 34          	mov    0x34(%rsp),%ecx
140e62ddd:	39 4b 04             	cmp    %ecx,0x4(%rbx)
140e62de0:	40 0f 95 c7          	setne  %dil
140e62de4:	8b c7                	mov    %edi,%eax
140e62de6:	eb 05                	jmp    0x140e62ded
140e62de8:	b8 01 00 00 00       	mov    $0x1,%eax
140e62ded:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140e62df2:	48 83 c4 20          	add    $0x20,%rsp
140e62df6:	5f                   	pop    %rdi
140e62df7:	c3                   	ret
140e62df8:	40 53                	rex push %rbx
140e62dfa:	48 83 ec 20          	sub    $0x20,%rsp
140e62dfe:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140e62e03:	48 8b d9             	mov    %rcx,%rbx
140e62e06:	83 64 24 3c 00       	andl   $0x0,0x3c(%rsp)
140e62e0b:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140e62e10:	e8 6b ff ff ff       	call   0x140e62d80
140e62e15:	85 c0                	test   %eax,%eax
140e62e17:	75 24                	jne    0x140e62e3d
140e62e19:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140e62e1e:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140e62e23:	83 4c 24 38 1f       	orl    $0x1f,0x38(%rsp)
140e62e28:	48 89 03             	mov    %rax,(%rbx)
140e62e2b:	e8 70 ff ff ff       	call   0x140e62da0
140e62e30:	85 c0                	test   %eax,%eax
140e62e32:	75 09                	jne    0x140e62e3d
140e62e34:	e8 4f 02 00 00       	call   0x140e63088
140e62e39:	33 c0                	xor    %eax,%eax
140e62e3b:	eb 05                	jmp    0x140e62e42
140e62e3d:	b8 01 00 00 00       	mov    $0x1,%eax
140e62e42:	48 83 c4 20          	add    $0x20,%rsp
140e62e46:	5b                   	pop    %rbx
140e62e47:	c3                   	ret
140e62e48:	48 83 22 00          	andq   $0x0,(%rdx)
140e62e4c:	48 8b c1             	mov    %rcx,%rax
140e62e4f:	c3                   	ret
140e62e50:	48 83 21 00          	andq   $0x0,(%rcx)
140e62e54:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140e62e58:	c6 42 30 01          	movb   $0x1,0x30(%rdx)
140e62e5c:	c7 42 2c 2a 00 00 00 	movl   $0x2a,0x2c(%rdx)
140e62e63:	c3                   	ret
140e62e64:	48 83 ec 28          	sub    $0x28,%rsp
140e62e68:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140e62e6d:	8b d1                	mov    %ecx,%edx
140e62e6f:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140e62e74:	e8 97 eb ff ff       	call   0x140e61a10
140e62e79:	8b 44 24 38          	mov    0x38(%rsp),%eax
140e62e7d:	83 e0 1f             	and    $0x1f,%eax
140e62e80:	48 83 c4 28          	add    $0x28,%rsp
140e62e84:	c3                   	ret
140e62e85:	cc                   	int3
140e62e86:	cc                   	int3
140e62e87:	cc                   	int3
140e62e88:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e62e8d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e62e92:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e62e97:	57                   	push   %rdi
140e62e98:	48 83 ec 50          	sub    $0x50,%rsp
140e62e9c:	49 63 d9             	movslq %r9d,%rbx
140e62e9f:	49 8b f8             	mov    %r8,%rdi
140e62ea2:	8b f2                	mov    %edx,%esi
140e62ea4:	48 8b e9             	mov    %rcx,%rbp
140e62ea7:	45 85 c9             	test   %r9d,%r9d
140e62eaa:	7e 14                	jle    0x140e62ec0
140e62eac:	48 8b d3             	mov    %rbx,%rdx
140e62eaf:	49 8b c8             	mov    %r8,%rcx
140e62eb2:	e8 81 36 fe ff       	call   0x140e46538
140e62eb7:	3b c3                	cmp    %ebx,%eax
140e62eb9:	8d 58 01             	lea    0x1(%rax),%ebx
140e62ebc:	7c 02                	jl     0x140e62ec0
140e62ebe:	8b d8                	mov    %eax,%ebx
140e62ec0:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
140e62ec6:	44 8b cb             	mov    %ebx,%r9d
140e62ec9:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
140e62ecf:	4c 8b c7             	mov    %rdi,%r8
140e62ed2:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
140e62ed8:	8b d6                	mov    %esi,%edx
140e62eda:	8b 84 24 88 00 00 00 	mov    0x88(%rsp),%eax
140e62ee1:	48 8b cd             	mov    %rbp,%rcx
140e62ee4:	89 44 24 28          	mov    %eax,0x28(%rsp)
140e62ee8:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140e62eef:	00
140e62ef0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140e62ef5:	e8 de 47 ff ff       	call   0x140e576d8
140e62efa:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e62eff:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140e62f04:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140e62f09:	48 83 c4 50          	add    $0x50,%rsp
140e62f0d:	5f                   	pop    %rdi
140e62f0e:	c3                   	ret
140e62f0f:	cc                   	int3
140e62f10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e62f15:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140e62f1a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140e62f1f:	44 0f b7 49 06       	movzwl 0x6(%rcx),%r9d
140e62f24:	b8 00 80 00 00       	mov    $0x8000,%eax
140e62f29:	41 0f b7 f9          	movzwl %r9w,%edi
140e62f2d:	45 33 d2             	xor    %r10d,%r10d
140e62f30:	66 23 f8             	and    %ax,%di
140e62f33:	be 01 00 00 00       	mov    $0x1,%esi
140e62f38:	4c 8b c1             	mov    %rcx,%r8
140e62f3b:	44 0f b7 de          	movzwl %si,%r11d
140e62f3f:	66 41 83 e1 0f       	and    $0xf,%r9w
140e62f44:	75 18                	jne    0x140e62f5e
140e62f46:	66 44 39 51 04       	cmp    %r10w,0x4(%rcx)
140e62f4b:	75 11                	jne    0x140e62f5e
140e62f4d:	66 44 39 51 02       	cmp    %r10w,0x2(%rcx)
140e62f52:	75 0a                	jne    0x140e62f5e
140e62f54:	66 44 39 11          	cmp    %r10w,(%rcx)
140e62f58:	0f 84 0c 01 00 00    	je     0x140e6306a
140e62f5e:	66 45 85 c9          	test   %r9w,%r9w
140e62f62:	75 2f                	jne    0x140e62f93
140e62f64:	0f b7 49 04          	movzwl 0x4(%rcx),%ecx
140e62f68:	41 0f b7 50 02       	movzwl 0x2(%r8),%edx
140e62f6d:	0f b7 c1             	movzwl %cx,%eax
140e62f70:	44 0f b7 c9          	movzwl %cx,%r9d
140e62f74:	66 41 83 c3 f0       	add    $0xfff0,%r11w
140e62f79:	0f b7 ca             	movzwl %dx,%ecx
140e62f7c:	41 0f b7 10          	movzwl (%r8),%edx
140e62f80:	66 45 89 10          	mov    %r10w,(%r8)
140e62f84:	66 85 c0             	test   %ax,%ax
140e62f87:	74 e4                	je     0x140e62f6d
140e62f89:	66 41 89 48 04       	mov    %cx,0x4(%r8)
140e62f8e:	66 41 89 50 02       	mov    %dx,0x2(%r8)
140e62f93:	41 0f b7 c1          	movzwl %r9w,%eax
140e62f97:	66 41 83 f9 10       	cmp    $0x10,%r9w
140e62f9c:	73 60                	jae    0x140e62ffe
140e62f9e:	45 0f b7 50 04       	movzwl 0x4(%r8),%r10d
140e62fa3:	41 0f b7 58 02       	movzwl 0x2(%r8),%ebx
140e62fa8:	41 0f b7 10          	movzwl (%r8),%edx
140e62fac:	66 03 c0             	add    %ax,%ax
140e62faf:	45 0f b7 ca          	movzwl %r10w,%r9d
140e62fb3:	0f b7 ca             	movzwl %dx,%ecx
140e62fb6:	66 41 c1 e9 0f       	shr    $0xf,%r9w
140e62fbb:	66 45 03 d2          	add    %r10w,%r10w
140e62fbf:	66 44 0b c8          	or     %ax,%r9w
140e62fc3:	66 c1 e9 0f          	shr    $0xf,%cx
140e62fc7:	0f b7 c3             	movzwl %bx,%eax
140e62fca:	66 03 d2             	add    %dx,%dx
140e62fcd:	66 c1 e8 0f          	shr    $0xf,%ax
140e62fd1:	66 41 ff cb          	dec    %r11w
140e62fd5:	66 44 0b d0          	or     %ax,%r10w
140e62fd9:	66 41 89 10          	mov    %dx,(%r8)
140e62fdd:	0f b7 c3             	movzwl %bx,%eax
140e62fe0:	0f b7 d9             	movzwl %cx,%ebx
140e62fe3:	66 03 c0             	add    %ax,%ax
140e62fe6:	66 0b d8             	or     %ax,%bx
140e62fe9:	41 0f b7 c1          	movzwl %r9w,%eax
140e62fed:	66 41 83 f9 10       	cmp    $0x10,%r9w
140e62ff2:	72 b4                	jb     0x140e62fa8
140e62ff4:	66 45 89 50 04       	mov    %r10w,0x4(%r8)
140e62ff9:	66 41 89 58 02       	mov    %bx,0x2(%r8)
140e62ffe:	bb 20 00 00 00       	mov    $0x20,%ebx
140e63003:	66 41 3b d9          	cmp    %r9w,%bx
140e63007:	77 5c                	ja     0x140e63065
140e63009:	45 0f b7 50 04       	movzwl 0x4(%r8),%r10d
140e6300e:	41 0f b7 50 02       	movzwl 0x2(%r8),%edx
140e63013:	41 0f b7 00          	movzwl (%r8),%eax
140e63017:	0f b7 ca             	movzwl %dx,%ecx
140e6301a:	66 d1 e8             	shr    $1,%ax
140e6301d:	66 44 03 de          	add    %si,%r11w
140e63021:	66 c1 e1 0f          	shl    $0xf,%cx
140e63025:	66 0b c8             	or     %ax,%cx
140e63028:	66 d1 ea             	shr    $1,%dx
140e6302b:	41 0f b7 c2          	movzwl %r10w,%eax
140e6302f:	66 41 89 08          	mov    %cx,(%r8)
140e63033:	66 c1 e0 0f          	shl    $0xf,%ax
140e63037:	41 0f b7 c9          	movzwl %r9w,%ecx
140e6303b:	66 0b d0             	or     %ax,%dx
140e6303e:	66 c1 e1 0f          	shl    $0xf,%cx
140e63042:	41 0f b7 c2          	movzwl %r10w,%eax
140e63046:	66 41 d1 e9          	shr    $1,%r9w
140e6304a:	66 d1 e8             	shr    $1,%ax
140e6304d:	44 0f b7 d1          	movzwl %cx,%r10d
140e63051:	66 44 0b d0          	or     %ax,%r10w
140e63055:	66 41 3b d9          	cmp    %r9w,%bx
140e63059:	76 b8                	jbe    0x140e63013
140e6305b:	66 45 89 50 04       	mov    %r10w,0x4(%r8)
140e63060:	66 41 89 50 02       	mov    %dx,0x2(%r8)
140e63065:	66 41 83 e1 0f       	and    $0xf,%r9w
140e6306a:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140e6306f:	66 44 0b cf          	or     %di,%r9w
140e63073:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140e63078:	41 0f b7 c3          	movzwl %r11w,%eax
140e6307c:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140e63081:	66 45 89 48 06       	mov    %r9w,0x6(%r8)
140e63086:	c3                   	ret
140e63087:	cc                   	int3
140e63088:	40 53                	rex push %rbx
140e6308a:	48 83 ec 20          	sub    $0x20,%rsp
140e6308e:	e8 2d e9 ff ff       	call   0x140e619c0
140e63093:	8b d8                	mov    %eax,%ebx
140e63095:	e8 40 e9 ff ff       	call   0x140e619da
140e6309a:	45 33 c9             	xor    %r9d,%r9d
140e6309d:	f6 c3 3f             	test   $0x3f,%bl
140e630a0:	74 46                	je     0x140e630e8
140e630a2:	8b d3                	mov    %ebx,%edx
140e630a4:	83 e2 01             	and    $0x1,%edx
140e630a7:	c1 e2 04             	shl    $0x4,%edx
140e630aa:	44 8b c2             	mov    %edx,%r8d
140e630ad:	41 83 c8 08          	or     $0x8,%r8d
140e630b1:	f6 c3 04             	test   $0x4,%bl
140e630b4:	44 0f 44 c2          	cmove  %edx,%r8d
140e630b8:	41 8b c8             	mov    %r8d,%ecx
140e630bb:	83 c9 04             	or     $0x4,%ecx
140e630be:	f6 c3 08             	test   $0x8,%bl
140e630c1:	41 0f 44 c8          	cmove  %r8d,%ecx
140e630c5:	8b d1                	mov    %ecx,%edx
140e630c7:	83 ca 02             	or     $0x2,%edx
140e630ca:	f6 c3 10             	test   $0x10,%bl
140e630cd:	0f 44 d1             	cmove  %ecx,%edx
140e630d0:	44 8b ca             	mov    %edx,%r9d
140e630d3:	41 83 c9 01          	or     $0x1,%r9d
140e630d7:	f6 c3 20             	test   $0x20,%bl
140e630da:	44 0f 44 ca          	cmove  %edx,%r9d
140e630de:	f6 c3 02             	test   $0x2,%bl
140e630e1:	74 05                	je     0x140e630e8
140e630e3:	41 0f ba e9 13       	bts    $0x13,%r9d
140e630e8:	41 8b c1             	mov    %r9d,%eax
140e630eb:	48 83 c4 20          	add    $0x20,%rsp
140e630ef:	5b                   	pop    %rbx
140e630f0:	c3                   	ret
140e630f1:	cc                   	int3
140e630f2:	cc                   	int3
140e630f3:	cc                   	int3
140e630f4:	e9 03 00 00 00       	jmp    0x140e630fc
140e630f9:	cc                   	int3
140e630fa:	cc                   	int3
140e630fb:	cc                   	int3
140e630fc:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e63101:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e63106:	41 54                	push   %r12
140e63108:	41 56                	push   %r14
140e6310a:	41 57                	push   %r15
140e6310c:	48 83 ec 20          	sub    $0x20,%rsp
140e63110:	44 8b e2             	mov    %edx,%r12d
140e63113:	8b d9                	mov    %ecx,%ebx
140e63115:	41 81 e4 1f 03 08 03 	and    $0x308031f,%r12d
140e6311c:	e8 9f e8 ff ff       	call   0x140e619c0
140e63121:	44 8b d0             	mov    %eax,%r10d
140e63124:	44 8b c8             	mov    %eax,%r9d
140e63127:	41 c1 e9 03          	shr    $0x3,%r9d
140e6312b:	41 83 e1 10          	and    $0x10,%r9d
140e6312f:	41 be 00 02 00 00    	mov    $0x200,%r14d
140e63135:	41 8b d1             	mov    %r9d,%edx
140e63138:	83 ca 08             	or     $0x8,%edx
140e6313b:	41 85 c6             	test   %eax,%r14d
140e6313e:	41 0f 44 d1          	cmove  %r9d,%edx
140e63142:	8b ca                	mov    %edx,%ecx
140e63144:	83 c9 04             	or     $0x4,%ecx
140e63147:	0f ba e0 0a          	bt     $0xa,%eax
140e6314b:	0f 43 ca             	cmovae %edx,%ecx
140e6314e:	41 b9 00 08 00 00    	mov    $0x800,%r9d
140e63154:	8b d1                	mov    %ecx,%edx
140e63156:	83 ca 02             	or     $0x2,%edx
140e63159:	41 85 c1             	test   %eax,%r9d
140e6315c:	0f 44 d1             	cmove  %ecx,%edx
140e6315f:	41 bb 00 10 00 00    	mov    $0x1000,%r11d
140e63165:	8b ca                	mov    %edx,%ecx
140e63167:	83 c9 01             	or     $0x1,%ecx
140e6316a:	41 85 c3             	test   %eax,%r11d
140e6316d:	0f 44 ca             	cmove  %edx,%ecx
140e63170:	be 00 01 00 00       	mov    $0x100,%esi
140e63175:	8b d1                	mov    %ecx,%edx
140e63177:	0f ba ea 13          	bts    $0x13,%edx
140e6317b:	85 c6                	test   %eax,%esi
140e6317d:	0f 44 d1             	cmove  %ecx,%edx
140e63180:	41 bf 00 60 00 00    	mov    $0x6000,%r15d
140e63186:	41 23 c7             	and    %r15d,%eax
140e63189:	74 22                	je     0x140e631ad
140e6318b:	3d 00 20 00 00       	cmp    $0x2000,%eax
140e63190:	74 19                	je     0x140e631ab
140e63192:	3d 00 40 00 00       	cmp    $0x4000,%eax
140e63197:	74 0d                	je     0x140e631a6
140e63199:	41 3b c7             	cmp    %r15d,%eax
140e6319c:	75 0f                	jne    0x140e631ad
140e6319e:	81 ca 00 03 00 00    	or     $0x300,%edx
140e631a4:	eb 07                	jmp    0x140e631ad
140e631a6:	41 0b d6             	or     %r14d,%edx
140e631a9:	eb 02                	jmp    0x140e631ad
140e631ab:	0b d6                	or     %esi,%edx
140e631ad:	41 81 e2 40 80 00 00 	and    $0x8040,%r10d
140e631b4:	41 83 ea 40          	sub    $0x40,%r10d
140e631b8:	74 1d                	je     0x140e631d7
140e631ba:	41 81 ea c0 7f 00 00 	sub    $0x7fc0,%r10d
140e631c1:	74 0c                	je     0x140e631cf
140e631c3:	41 83 fa 40          	cmp    $0x40,%r10d
140e631c7:	75 12                	jne    0x140e631db
140e631c9:	0f ba ea 18          	bts    $0x18,%edx
140e631cd:	eb 0c                	jmp    0x140e631db
140e631cf:	81 ca 00 00 00 03    	or     $0x3000000,%edx
140e631d5:	eb 04                	jmp    0x140e631db
140e631d7:	0f ba ea 19          	bts    $0x19,%edx
140e631db:	45 8b c4             	mov    %r12d,%r8d
140e631de:	41 f7 d0             	not    %r8d
140e631e1:	44 23 c2             	and    %edx,%r8d
140e631e4:	41 23 dc             	and    %r12d,%ebx
140e631e7:	44 0b c3             	or     %ebx,%r8d
140e631ea:	44 3b c2             	cmp    %edx,%r8d
140e631ed:	0f 84 8c 01 00 00    	je     0x140e6337f
140e631f3:	41 8b c8             	mov    %r8d,%ecx
140e631f6:	83 e1 10             	and    $0x10,%ecx
140e631f9:	c1 e1 03             	shl    $0x3,%ecx
140e631fc:	8b d1                	mov    %ecx,%edx
140e631fe:	41 0b d6             	or     %r14d,%edx
140e63201:	41 f6 c0 08          	test   $0x8,%r8b
140e63205:	0f 44 d1             	cmove  %ecx,%edx
140e63208:	8b ca                	mov    %edx,%ecx
140e6320a:	0f ba e9 0a          	bts    $0xa,%ecx
140e6320e:	41 f6 c0 04          	test   $0x4,%r8b
140e63212:	0f 44 ca             	cmove  %edx,%ecx
140e63215:	8b d1                	mov    %ecx,%edx
140e63217:	41 0b d1             	or     %r9d,%edx
140e6321a:	41 f6 c0 02          	test   $0x2,%r8b
140e6321e:	0f 44 d1             	cmove  %ecx,%edx
140e63221:	8b ca                	mov    %edx,%ecx
140e63223:	41 0b cb             	or     %r11d,%ecx
140e63226:	41 f6 c0 01          	test   $0x1,%r8b
140e6322a:	0f 44 ca             	cmove  %edx,%ecx
140e6322d:	8b d9                	mov    %ecx,%ebx
140e6322f:	0b de                	or     %esi,%ebx
140e63231:	41 0f ba e0 13       	bt     $0x13,%r8d
140e63236:	0f 43 d9             	cmovae %ecx,%ebx