140097c45:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
140097c4c:	00
140097c4d:	0f 28 7c 24 30       	movaps 0x30(%rsp),%xmm7
140097c52:	40 0f 94 c7          	sete   %dil
140097c56:	8b c7                	mov    %edi,%eax
140097c58:	48 83 c4 50          	add    $0x50,%rsp
140097c5c:	41 5f                	pop    %r15
140097c5e:	41 5e                	pop    %r14
140097c60:	41 5d                	pop    %r13
140097c62:	41 5c                	pop    %r12
140097c64:	5f                   	pop    %rdi
140097c65:	5e                   	pop    %rsi
140097c66:	5d                   	pop    %rbp
140097c67:	c3                   	ret
140097c68:	48 83 ec 48          	sub    $0x48,%rsp
140097c6c:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
140097c71:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140097c76:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140097c7b:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140097c80:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140097c85:	e8 d6 00 00 00       	call   0x140097d60
140097c8a:	48 83 c4 48          	add    $0x48,%rsp
140097c8e:	c3                   	ret
140097c8f:	cc                   	int3
140097c90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140097c95:	f2 0f 11 5c 24 20    	movsd  %xmm3,0x20(%rsp)
140097c9b:	f2 0f 11 54 24 18    	movsd  %xmm2,0x18(%rsp)
140097ca1:	55                   	push   %rbp
140097ca2:	48 8b ec             	mov    %rsp,%rbp
140097ca5:	48 83 ec 50          	sub    $0x50,%rsp
140097ca9:	8b d9                	mov    %ecx,%ebx
140097cab:	4c 8d 0d ce 3c 04 00 	lea    0x43cce(%rip),%r9        # 0x1400db980
140097cb2:	48 8d 0d f7 3a 04 00 	lea    0x43af7(%rip),%rcx        # 0x1400db7b0
140097cb9:	45 33 c0             	xor    %r8d,%r8d
140097cbc:	48 8b c1             	mov    %rcx,%rax
140097cbf:	39 10                	cmp    %edx,(%rax)
140097cc1:	74 36                	je     0x140097cf9
140097cc3:	41 ff c0             	inc    %r8d
140097cc6:	48 83 c0 10          	add    $0x10,%rax
140097cca:	49 3b c1             	cmp    %r9,%rax
140097ccd:	7c f0                	jl     0x140097cbf
140097ccf:	48 83 65 d8 00       	andq   $0x0,-0x28(%rbp)
140097cd4:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140097cd8:	ba c0 ff 00 00       	mov    $0xffc0,%edx
140097cdd:	e8 86 05 00 00       	call   0x140098268
140097ce2:	8b cb                	mov    %ebx,%ecx
140097ce4:	e8 5b fc ff ff       	call   0x140097944
140097ce9:	f2 0f 10 45 30       	movsd  0x30(%rbp),%xmm0
140097cee:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140097cf3:	48 83 c4 50          	add    $0x50,%rsp
140097cf7:	5d                   	pop    %rbp
140097cf8:	c3                   	ret
140097cf9:	49 63 c0             	movslq %r8d,%rax
140097cfc:	48 03 c0             	add    %rax,%rax
140097cff:	48 8b 44 c1 08       	mov    0x8(%rcx,%rax,8),%rax
140097d04:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140097d08:	48 85 c0             	test   %rax,%rax
140097d0b:	74 c7                	je     0x140097cd4
140097d0d:	8b 45 20             	mov    0x20(%rbp),%eax
140097d10:	ba c0 ff 00 00       	mov    $0xffc0,%edx
140097d15:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140097d19:	89 45 e0             	mov    %eax,-0x20(%rbp)
140097d1c:	8b 45 24             	mov    0x24(%rbp),%eax
140097d1f:	89 45 e4             	mov    %eax,-0x1c(%rbp)
140097d22:	8b 45 28             	mov    0x28(%rbp),%eax
140097d25:	89 45 e8             	mov    %eax,-0x18(%rbp)
140097d28:	8b 45 2c             	mov    0x2c(%rbp),%eax
140097d2b:	89 45 ec             	mov    %eax,-0x14(%rbp)
140097d2e:	8b 45 30             	mov    0x30(%rbp),%eax
140097d31:	89 45 f0             	mov    %eax,-0x10(%rbp)
140097d34:	8b 45 34             	mov    0x34(%rbp),%eax
140097d37:	89 45 f4             	mov    %eax,-0xc(%rbp)
140097d3a:	89 5d d0             	mov    %ebx,-0x30(%rbp)
140097d3d:	e8 26 05 00 00       	call   0x140098268
140097d42:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
140097d46:	e8 6d 9f fd ff       	call   0x140071cb8
140097d4b:	85 c0                	test   %eax,%eax
140097d4d:	75 07                	jne    0x140097d56
140097d4f:	8b cb                	mov    %ebx,%ecx
140097d51:	e8 ee fb ff ff       	call   0x140097944
140097d56:	f2 0f 10 45 f0       	movsd  -0x10(%rbp),%xmm0
140097d5b:	eb 91                	jmp    0x140097cee
140097d5d:	cc                   	int3
140097d5e:	cc                   	int3
140097d5f:	cc                   	int3
140097d60:	48 8b c4             	mov    %rsp,%rax
140097d63:	48 89 58 10          	mov    %rbx,0x10(%rax)
140097d67:	48 89 70 18          	mov    %rsi,0x18(%rax)
140097d6b:	48 89 78 20          	mov    %rdi,0x20(%rax)
140097d6f:	48 89 48 08          	mov    %rcx,0x8(%rax)
140097d73:	55                   	push   %rbp
140097d74:	48 8b ec             	mov    %rsp,%rbp
140097d77:	48 83 ec 20          	sub    $0x20,%rsp
140097d7b:	48 8b da             	mov    %rdx,%rbx
140097d7e:	41 8b f1             	mov    %r9d,%esi
140097d81:	33 d2                	xor    %edx,%edx
140097d83:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
140097d88:	89 51 04             	mov    %edx,0x4(%rcx)
140097d8b:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097d8f:	89 50 08             	mov    %edx,0x8(%rax)
140097d92:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097d96:	89 50 0c             	mov    %edx,0xc(%rax)
140097d99:	41 f6 c0 10          	test   $0x10,%r8b
140097d9d:	74 0d                	je     0x140097dac
140097d9f:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097da3:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
140097da8:	83 48 04 01          	orl    $0x1,0x4(%rax)
140097dac:	41 f6 c0 02          	test   $0x2,%r8b
140097db0:	74 0d                	je     0x140097dbf
140097db2:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097db6:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
140097dbb:	83 48 04 02          	orl    $0x2,0x4(%rax)
140097dbf:	41 f6 c0 01          	test   $0x1,%r8b
140097dc3:	74 0d                	je     0x140097dd2
140097dc5:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097dc9:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
140097dce:	83 48 04 04          	orl    $0x4,0x4(%rax)
140097dd2:	41 f6 c0 04          	test   $0x4,%r8b
140097dd6:	74 0d                	je     0x140097de5
140097dd8:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097ddc:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
140097de1:	83 48 04 08          	orl    $0x8,0x4(%rax)
140097de5:	41 f6 c0 08          	test   $0x8,%r8b
140097de9:	74 0d                	je     0x140097df8
140097deb:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097def:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
140097df4:	83 48 04 10          	orl    $0x10,0x4(%rax)
140097df8:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097dfc:	48 8b 03             	mov    (%rbx),%rax
140097dff:	48 c1 e8 07          	shr    $0x7,%rax
140097e03:	c1 e0 04             	shl    $0x4,%eax
140097e06:	f7 d0                	not    %eax
140097e08:	33 41 08             	xor    0x8(%rcx),%eax
140097e0b:	83 e0 10             	and    $0x10,%eax
140097e0e:	31 41 08             	xor    %eax,0x8(%rcx)
140097e11:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097e15:	48 8b 03             	mov    (%rbx),%rax
140097e18:	48 c1 e8 09          	shr    $0x9,%rax
140097e1c:	c1 e0 03             	shl    $0x3,%eax
140097e1f:	f7 d0                	not    %eax
140097e21:	33 41 08             	xor    0x8(%rcx),%eax
140097e24:	83 e0 08             	and    $0x8,%eax
140097e27:	31 41 08             	xor    %eax,0x8(%rcx)
140097e2a:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097e2e:	48 8b 03             	mov    (%rbx),%rax
140097e31:	48 c1 e8 0a          	shr    $0xa,%rax
140097e35:	c1 e0 02             	shl    $0x2,%eax
140097e38:	f7 d0                	not    %eax
140097e3a:	33 41 08             	xor    0x8(%rcx),%eax
140097e3d:	83 e0 04             	and    $0x4,%eax
140097e40:	31 41 08             	xor    %eax,0x8(%rcx)
140097e43:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097e47:	48 8b 03             	mov    (%rbx),%rax
140097e4a:	48 c1 e8 0b          	shr    $0xb,%rax
140097e4e:	03 c0                	add    %eax,%eax
140097e50:	f7 d0                	not    %eax
140097e52:	33 41 08             	xor    0x8(%rcx),%eax
140097e55:	83 e0 02             	and    $0x2,%eax
140097e58:	31 41 08             	xor    %eax,0x8(%rcx)
140097e5b:	8b 03                	mov    (%rbx),%eax
140097e5d:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097e61:	48 c1 e8 0c          	shr    $0xc,%rax
140097e65:	f7 d0                	not    %eax
140097e67:	33 41 08             	xor    0x8(%rcx),%eax
140097e6a:	83 e0 01             	and    $0x1,%eax
140097e6d:	31 41 08             	xor    %eax,0x8(%rcx)
140097e70:	e8 6f 04 00 00       	call   0x1400982e4
140097e75:	48 8b d0             	mov    %rax,%rdx
140097e78:	a8 01                	test   $0x1,%al
140097e7a:	74 08                	je     0x140097e84
140097e7c:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097e80:	83 49 0c 10          	orl    $0x10,0xc(%rcx)
140097e84:	f6 c2 04             	test   $0x4,%dl
140097e87:	74 08                	je     0x140097e91
140097e89:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097e8d:	83 49 0c 08          	orl    $0x8,0xc(%rcx)
140097e91:	f6 c2 08             	test   $0x8,%dl
140097e94:	74 08                	je     0x140097e9e
140097e96:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097e9a:	83 48 0c 04          	orl    $0x4,0xc(%rax)
140097e9e:	f6 c2 10             	test   $0x10,%dl
140097ea1:	74 08                	je     0x140097eab
140097ea3:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097ea7:	83 48 0c 02          	orl    $0x2,0xc(%rax)
140097eab:	f6 c2 20             	test   $0x20,%dl
140097eae:	74 08                	je     0x140097eb8
140097eb0:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097eb4:	83 48 0c 01          	orl    $0x1,0xc(%rax)
140097eb8:	8b 03                	mov    (%rbx),%eax
140097eba:	b9 00 60 00 00       	mov    $0x6000,%ecx
140097ebf:	48 23 c1             	and    %rcx,%rax
140097ec2:	74 3e                	je     0x140097f02
140097ec4:	48 3d 00 20 00 00    	cmp    $0x2000,%rax
140097eca:	74 26                	je     0x140097ef2
140097ecc:	48 3d 00 40 00 00    	cmp    $0x4000,%rax
140097ed2:	74 0e                	je     0x140097ee2
140097ed4:	48 3b c1             	cmp    %rcx,%rax
140097ed7:	75 30                	jne    0x140097f09
140097ed9:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097edd:	83 08 03             	orl    $0x3,(%rax)
140097ee0:	eb 27                	jmp    0x140097f09
140097ee2:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097ee6:	83 20 fe             	andl   $0xfffffffe,(%rax)
140097ee9:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097eed:	83 08 02             	orl    $0x2,(%rax)
140097ef0:	eb 17                	jmp    0x140097f09
140097ef2:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097ef6:	83 20 fd             	andl   $0xfffffffd,(%rax)
140097ef9:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097efd:	83 08 01             	orl    $0x1,(%rax)
140097f00:	eb 07                	jmp    0x140097f09
140097f02:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f06:	83 20 fc             	andl   $0xfffffffc,(%rax)
140097f09:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f0d:	81 e6 ff 0f 00 00    	and    $0xfff,%esi
140097f13:	c1 e6 05             	shl    $0x5,%esi
140097f16:	81 20 1f 00 fe ff    	andl   $0xfffe001f,(%rax)
140097f1c:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f20:	09 30                	or     %esi,(%rax)
140097f22:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f26:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140097f2a:	83 48 20 01          	orl    $0x1,0x20(%rax)
140097f2e:	83 7d 40 00          	cmpl   $0x0,0x40(%rbp)
140097f32:	74 33                	je     0x140097f67
140097f34:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f38:	ba e1 ff ff ff       	mov    $0xffffffe1,%edx
140097f3d:	21 50 20             	and    %edx,0x20(%rax)
140097f40:	48 8b 45 30          	mov    0x30(%rbp),%rax
140097f44:	8b 08                	mov    (%rax),%ecx
140097f46:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f4a:	89 48 10             	mov    %ecx,0x10(%rax)
140097f4d:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f51:	83 48 60 01          	orl    $0x1,0x60(%rax)
140097f55:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f59:	21 50 60             	and    %edx,0x60(%rax)
140097f5c:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f60:	8b 0e                	mov    (%rsi),%ecx
140097f62:	89 48 50             	mov    %ecx,0x50(%rax)
140097f65:	eb 48                	jmp    0x140097faf
140097f67:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097f6b:	41 b8 e3 ff ff ff    	mov    $0xffffffe3,%r8d
140097f71:	8b 41 20             	mov    0x20(%rcx),%eax
140097f74:	41 23 c0             	and    %r8d,%eax
140097f77:	83 c8 02             	or     $0x2,%eax
140097f7a:	89 41 20             	mov    %eax,0x20(%rcx)
140097f7d:	48 8b 45 30          	mov    0x30(%rbp),%rax
140097f81:	48 8b 08             	mov    (%rax),%rcx
140097f84:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f88:	48 89 48 10          	mov    %rcx,0x10(%rax)
140097f8c:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097f90:	83 48 60 01          	orl    $0x1,0x60(%rax)
140097f94:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140097f98:	8b 42 60             	mov    0x60(%rdx),%eax
140097f9b:	41 23 c0             	and    %r8d,%eax
140097f9e:	83 c8 02             	or     $0x2,%eax
140097fa1:	89 42 60             	mov    %eax,0x60(%rdx)
140097fa4:	48 8b 45 10          	mov    0x10(%rbp),%rax
140097fa8:	48 8b 16             	mov    (%rsi),%rdx
140097fab:	48 89 50 50          	mov    %rdx,0x50(%rax)
140097faf:	e8 94 02 00 00       	call   0x140098248
140097fb4:	33 d2                	xor    %edx,%edx
140097fb6:	4c 8d 4d 10          	lea    0x10(%rbp),%r9
140097fba:	8b cf                	mov    %edi,%ecx
140097fbc:	44 8d 42 01          	lea    0x1(%rdx),%r8d
140097fc0:	ff 15 5a f8 05 00    	call   *0x5f85a(%rip)        # 0x1400f7820
140097fc6:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140097fca:	f6 41 08 10          	testb  $0x10,0x8(%rcx)
140097fce:	74 05                	je     0x140097fd5
140097fd0:	48 0f ba 33 07       	btrq   $0x7,(%rbx)
140097fd5:	f6 41 08 08          	testb  $0x8,0x8(%rcx)
140097fd9:	74 05                	je     0x140097fe0
140097fdb:	48 0f ba 33 09       	btrq   $0x9,(%rbx)
140097fe0:	f6 41 08 04          	testb  $0x4,0x8(%rcx)
140097fe4:	74 05                	je     0x140097feb
140097fe6:	48 0f ba 33 0a       	btrq   $0xa,(%rbx)
140097feb:	f6 41 08 02          	testb  $0x2,0x8(%rcx)
140097fef:	74 05                	je     0x140097ff6
140097ff1:	48 0f ba 33 0b       	btrq   $0xb,(%rbx)
140097ff6:	f6 41 08 01          	testb  $0x1,0x8(%rcx)
140097ffa:	74 05                	je     0x140098001
140097ffc:	48 0f ba 33 0c       	btrq   $0xc,(%rbx)
140098001:	8b 01                	mov    (%rcx),%eax
140098003:	83 e0 03             	and    $0x3,%eax
140098006:	74 30                	je     0x140098038
140098008:	83 e8 01             	sub    $0x1,%eax
14009800b:	74 1f                	je     0x14009802c
14009800d:	83 e8 01             	sub    $0x1,%eax
140098010:	74 0e                	je     0x140098020
140098012:	83 f8 01             	cmp    $0x1,%eax
140098015:	75 28                	jne    0x14009803f
140098017:	48 81 0b 00 60 00 00 	orq    $0x6000,(%rbx)
14009801e:	eb 1f                	jmp    0x14009803f
140098020:	48 0f ba 33 0d       	btrq   $0xd,(%rbx)
140098025:	48 0f ba 2b 0e       	btsq   $0xe,(%rbx)
14009802a:	eb 13                	jmp    0x14009803f
14009802c:	48 0f ba 33 0e       	btrq   $0xe,(%rbx)
140098031:	48 0f ba 2b 0d       	btsq   $0xd,(%rbx)
140098036:	eb 07                	jmp    0x14009803f
140098038:	48 81 23 ff 9f ff ff 	andq   $0xffffffffffff9fff,(%rbx)
14009803f:	83 7d 40 00          	cmpl   $0x0,0x40(%rbp)
140098043:	74 07                	je     0x14009804c
140098045:	8b 41 50             	mov    0x50(%rcx),%eax
140098048:	89 06                	mov    %eax,(%rsi)
14009804a:	eb 07                	jmp    0x140098053
14009804c:	48 8b 41 50          	mov    0x50(%rcx),%rax
140098050:	48 89 06             	mov    %rax,(%rsi)
140098053:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140098058:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14009805d:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140098062:	48 83 c4 20          	add    $0x20,%rsp
140098066:	5d                   	pop    %rbp
140098067:	c3                   	ret
140098068:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14009806e:	b9 0f 80 00 00       	mov    $0x800f,%ecx
140098073:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
140098078:	48 c1 e8 30          	shr    $0x30,%rax
14009807c:	66 23 c1             	and    %cx,%ax
14009807f:	f2 0f 11 44 24 18    	movsd  %xmm0,0x18(%rsp)
140098085:	b9 fe 03 00 00       	mov    $0x3fe,%ecx
14009808a:	66 03 d1             	add    %cx,%dx
14009808d:	66 c1 e2 04          	shl    $0x4,%dx
140098091:	66 0b c2             	or     %dx,%ax
140098094:	66 89 44 24 1e       	mov    %ax,0x1e(%rsp)
140098099:	f2 0f 10 44 24 18    	movsd  0x18(%rsp),%xmm0
14009809f:	c3                   	ret
1400980a0:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
1400980a6:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
1400980ab:	48 8b c8             	mov    %rax,%rcx
1400980ae:	48 c1 e9 20          	shr    $0x20,%rcx
1400980b2:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
1400980b8:	75 0a                	jne    0x1400980c4
1400980ba:	85 c0                	test   %eax,%eax
1400980bc:	75 18                	jne    0x1400980d6
1400980be:	b8 01 00 00 00       	mov    $0x1,%eax
1400980c3:	c3                   	ret
1400980c4:	81 f9 00 00 f0 ff    	cmp    $0xfff00000,%ecx
1400980ca:	75 0a                	jne    0x1400980d6
1400980cc:	85 c0                	test   %eax,%eax
1400980ce:	75 06                	jne    0x1400980d6
1400980d0:	b8 02 00 00 00       	mov    $0x2,%eax
1400980d5:	c3                   	ret
1400980d6:	41 b8 f8 7f 00 00    	mov    $0x7ff8,%r8d
1400980dc:	48 8b d0             	mov    %rax,%rdx
1400980df:	48 c1 ea 30          	shr    $0x30,%rdx
1400980e3:	66 41 23 d0          	and    %r8w,%dx
1400980e7:	66 41 3b d0          	cmp    %r8w,%dx
1400980eb:	75 06                	jne    0x1400980f3
1400980ed:	b8 03 00 00 00       	mov    $0x3,%eax
1400980f2:	c3                   	ret
1400980f3:	41 b8 f0 7f 00 00    	mov    $0x7ff0,%r8d