140e37a7b:	00 f0 7f
140e37a7e:	48 c1 e0 3f          	shl    $0x3f,%rax
140e37a82:	48 0b c1             	or     %rcx,%rax
140e37a85:	49 89 00             	mov    %rax,(%r8)
140e37a88:	eb 0d                	jmp    0x140e37a97
140e37a8a:	8b c6                	mov    %esi,%eax
140e37a8c:	c1 e0 1f             	shl    $0x1f,%eax
140e37a8f:	0d 00 00 80 7f       	or     $0x7f800000,%eax
140e37a94:	41 89 00             	mov    %eax,(%r8)
140e37a97:	b8 03 00 00 00       	mov    $0x3,%eax
140e37a9c:	eb 66                	jmp    0x140e37b04
140e37a9e:	7e 05                	jle    0x140e37aa5
140e37aa0:	8b cd                	mov    %ebp,%ecx
140e37aa2:	48 d3 e3             	shl    %cl,%rbx
140e37aa5:	4d 8b 0a             	mov    (%r10),%r9
140e37aa8:	8a c2                	mov    %dl,%al
140e37aaa:	f6 d8                	neg    %al
140e37aac:	4d 1b c0             	sbb    %r8,%r8
140e37aaf:	4d 23 c4             	and    %r12,%r8
140e37ab2:	49 81 c0 ff ff 7f 00 	add    $0x7fffff,%r8
140e37ab9:	4c 23 c3             	and    %rbx,%r8
140e37abc:	84 d2                	test   %dl,%dl
140e37abe:	74 22                	je     0x140e37ae2
140e37ac0:	8d 8f ff 03 00 00    	lea    0x3ff(%rdi),%ecx
140e37ac6:	48 8b c6             	mov    %rsi,%rax
140e37ac9:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
140e37acf:	48 c1 e0 0b          	shl    $0xb,%rax
140e37ad3:	48 0b c8             	or     %rax,%rcx
140e37ad6:	48 c1 e1 34          	shl    $0x34,%rcx
140e37ada:	49 0b c8             	or     %r8,%rcx
140e37add:	49 89 09             	mov    %rcx,(%r9)
140e37ae0:	eb 20                	jmp    0x140e37b02
140e37ae2:	8d 4f 7f             	lea    0x7f(%rdi),%ecx
140e37ae5:	8b c6                	mov    %esi,%eax
140e37ae7:	c1 e1 17             	shl    $0x17,%ecx
140e37aea:	41 81 e0 ff ff 7f 00 	and    $0x7fffff,%r8d
140e37af1:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
140e37af7:	c1 e0 1f             	shl    $0x1f,%eax
140e37afa:	0b c8                	or     %eax,%ecx
140e37afc:	41 0b c8             	or     %r8d,%ecx
140e37aff:	41 89 09             	mov    %ecx,(%r9)
140e37b02:	33 c0                	xor    %eax,%eax
140e37b04:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140e37b0b:	00
140e37b0c:	48 83 c4 30          	add    $0x30,%rsp
140e37b10:	41 5f                	pop    %r15
140e37b12:	41 5e                	pop    %r14
140e37b14:	41 5d                	pop    %r13
140e37b16:	41 5c                	pop    %r12
140e37b18:	5f                   	pop    %rdi
140e37b19:	5e                   	pop    %rsi
140e37b1a:	5d                   	pop    %rbp
140e37b1b:	c3                   	ret
140e37b1c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e37b21:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140e37b26:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140e37b2b:	57                   	push   %rdi
140e37b2c:	41 54                	push   %r12
140e37b2e:	41 55                	push   %r13
140e37b30:	41 56                	push   %r14
140e37b32:	41 57                	push   %r15
140e37b34:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140e37b39:	8b fa                	mov    %edx,%edi
140e37b3b:	41 bd 40 00 00 00    	mov    $0x40,%r13d
140e37b41:	45 8a f8             	mov    %r8b,%r15b
140e37b44:	4c 8b d9             	mov    %rcx,%r11
140e37b47:	8a 45 08             	mov    0x8(%rbp),%al
140e37b4a:	f6 d8                	neg    %al
140e37b4c:	1b d2                	sbb    %edx,%edx
140e37b4e:	45 33 d2             	xor    %r10d,%r10d
140e37b51:	83 e2 1d             	and    $0x1d,%edx
140e37b54:	83 c2 17             	add    $0x17,%edx
140e37b57:	41 3b fd             	cmp    %r13d,%edi
140e37b5a:	77 29                	ja     0x140e37b85
140e37b5c:	44 39 11             	cmp    %r10d,(%rcx)
140e37b5f:	76 0e                	jbe    0x140e37b6f
140e37b61:	83 39 01             	cmpl   $0x1,(%rcx)
140e37b64:	8b 41 04             	mov    0x4(%rcx),%eax
140e37b67:	76 09                	jbe    0x140e37b72
140e37b69:	44 8b 51 08          	mov    0x8(%rcx),%r10d
140e37b6d:	eb 03                	jmp    0x140e37b72
140e37b6f:	41 8b c2             	mov    %r10d,%eax
140e37b72:	41 8b ca             	mov    %r10d,%ecx
140e37b75:	41 80 f1 01          	xor    $0x1,%r9b
140e37b79:	48 c1 e1 20          	shl    $0x20,%rcx
140e37b7d:	48 03 c8             	add    %rax,%rcx
140e37b80:	e9 d4 00 00 00       	jmp    0x140e37c59
140e37b85:	44 8b c7             	mov    %edi,%r8d
140e37b88:	c1 ef 05             	shr    $0x5,%edi
140e37b8b:	8d 77 fe             	lea    -0x2(%rdi),%esi
140e37b8e:	44 8b 64 b1 04       	mov    0x4(%rcx,%rsi,4),%r12d
140e37b93:	8d 47 ff             	lea    -0x1(%rdi),%eax
140e37b96:	8b 5c 81 04          	mov    0x4(%rcx,%rax,4),%ebx
140e37b9a:	44 8b f6             	mov    %esi,%r14d
140e37b9d:	41 c1 e6 05          	shl    $0x5,%r14d
140e37ba1:	41 83 e0 1f          	and    $0x1f,%r8d
140e37ba5:	75 36                	jne    0x140e37bdd
140e37ba7:	48 c1 e3 20          	shl    $0x20,%rbx
140e37bab:	41 03 d6             	add    %r14d,%edx
140e37bae:	49 03 dc             	add    %r12,%rbx
140e37bb1:	41 80 f1 01          	xor    $0x1,%r9b
140e37bb5:	41 8b fa             	mov    %r10d,%edi
140e37bb8:	85 f6                	test   %esi,%esi
140e37bba:	0f 84 93 00 00 00    	je     0x140e37c53
140e37bc0:	8b cf                	mov    %edi,%ecx
140e37bc2:	45 8b c2             	mov    %r10d,%r8d
140e37bc5:	41 0f b6 c1          	movzbl %r9b,%eax
140e37bc9:	45 39 54 8b 04       	cmp    %r10d,0x4(%r11,%rcx,4)
140e37bce:	44 0f 44 c0          	cmove  %eax,%r8d
140e37bd2:	ff c7                	inc    %edi
140e37bd4:	45 8a c8             	mov    %r8b,%r9b
140e37bd7:	3b fe                	cmp    %esi,%edi
140e37bd9:	75 e5                	jne    0x140e37bc0
140e37bdb:	eb 76                	jmp    0x140e37c53
140e37bdd:	45 2b e8             	sub    %r8d,%r13d
140e37be0:	41 8b c8             	mov    %r8d,%ecx
140e37be3:	45 03 f0             	add    %r8d,%r14d
140e37be6:	b8 01 00 00 00       	mov    $0x1,%eax
140e37beb:	44 03 f2             	add    %edx,%r14d
140e37bee:	d3 e0                	shl    %cl,%eax
140e37bf0:	41 8b 54 bb 04       	mov    0x4(%r11,%rdi,4),%edx
140e37bf5:	ff c8                	dec    %eax
140e37bf7:	41 8d 4d e0          	lea    -0x20(%r13),%ecx
140e37bfb:	8b f8                	mov    %eax,%edi
140e37bfd:	48 23 d7             	and    %rdi,%rdx
140e37c00:	48 d3 e3             	shl    %cl,%rbx
140e37c03:	41 8b cd             	mov    %r13d,%ecx
140e37c06:	48 d3 e2             	shl    %cl,%rdx
140e37c09:	41 8b c8             	mov    %r8d,%ecx
140e37c0c:	48 03 da             	add    %rdx,%rbx
140e37c0f:	8b d0                	mov    %eax,%edx
140e37c11:	f7 d2                	not    %edx
140e37c13:	49 23 d4             	and    %r12,%rdx
140e37c16:	48 d3 ea             	shr    %cl,%rdx
140e37c19:	48 03 da             	add    %rdx,%rbx
140e37c1c:	45 84 c9             	test   %r9b,%r9b
140e37c1f:	75 07                	jne    0x140e37c28
140e37c21:	b0 01                	mov    $0x1,%al
140e37c23:	44 85 e7             	test   %r12d,%edi
140e37c26:	74 03                	je     0x140e37c2b
140e37c28:	41 8a c2             	mov    %r10b,%al
140e37c2b:	41 8b ca             	mov    %r10d,%ecx
140e37c2e:	85 f6                	test   %esi,%esi
140e37c30:	74 1b                	je     0x140e37c4d
140e37c32:	44 8b c1             	mov    %ecx,%r8d
140e37c35:	45 8b ca             	mov    %r10d,%r9d
140e37c38:	0f b6 c0             	movzbl %al,%eax
140e37c3b:	47 39 54 83 04       	cmp    %r10d,0x4(%r11,%r8,4)
140e37c40:	44 0f 44 c8          	cmove  %eax,%r9d
140e37c44:	ff c1                	inc    %ecx
140e37c46:	41 8a c1             	mov    %r9b,%al
140e37c49:	3b ce                	cmp    %esi,%ecx
140e37c4b:	75 e5                	jne    0x140e37c32
140e37c4d:	44 8a c8             	mov    %al,%r9b
140e37c50:	41 8b d6             	mov    %r14d,%edx
140e37c53:	48 8b cb             	mov    %rbx,%rcx
140e37c56:	45 8a c7             	mov    %r15b,%r8b
140e37c59:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
140e37c5e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e37c63:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140e37c68:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140e37c6d:	41 5f                	pop    %r15
140e37c6f:	41 5e                	pop    %r14
140e37c71:	41 5d                	pop    %r13
140e37c73:	41 5c                	pop    %r12
140e37c75:	5f                   	pop    %rdi
140e37c76:	e9 f5 fa ff ff       	jmp    0x140e37770
140e37c7b:	cc                   	int3
140e37c7c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e37c81:	55                   	push   %rbp
140e37c82:	56                   	push   %rsi
140e37c83:	57                   	push   %rdi
140e37c84:	41 54                	push   %r12
140e37c86:	41 55                	push   %r13
140e37c88:	41 56                	push   %r14
140e37c8a:	41 57                	push   %r15
140e37c8c:	48 8d ac 24 80 f5 ff 	lea    -0xa80(%rsp),%rbp
140e37c93:	ff
140e37c94:	48 81 ec 80 0b 00 00 	sub    $0xb80,%rsp
140e37c9b:	48 8b 05 5e 12 58 00 	mov    0x58125e(%rip),%rax        # 0x1413b8f00
140e37ca2:	48 33 c4             	xor    %rsp,%rax
140e37ca5:	48 89 85 70 0a 00 00 	mov    %rax,0xa70(%rbp)
140e37cac:	8a 42 08             	mov    0x8(%rdx),%al
140e37caf:	4c 8d 25 4a 83 1c ff 	lea    -0xe37cb6(%rip),%r12        # 0x140000000
140e37cb6:	44 8b 11             	mov    (%rcx),%r10d
140e37cb9:	f6 d8                	neg    %al
140e37cbb:	4c 8b c9             	mov    %rcx,%r9
140e37cbe:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
140e37cc3:	8b 51 04             	mov    0x4(%rcx),%edx
140e37cc6:	1b c0                	sbb    %eax,%eax
140e37cc8:	83 e0 1d             	and    $0x1d,%eax
140e37ccb:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
140e37cd0:	83 c0 19             	add    $0x19,%eax
140e37cd3:	45 33 db             	xor    %r11d,%r11d
140e37cd6:	45 85 d2             	test   %r10d,%r10d
140e37cd9:	89 44 24 50          	mov    %eax,0x50(%rsp)
140e37cdd:	4d 8d 41 08          	lea    0x8(%r9),%r8
140e37ce1:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140e37ce8:	45 0f 48 d3          	cmovs  %r11d,%r10d
140e37cec:	45 8b f3             	mov    %r11d,%r14d
140e37cef:	44 3b d2             	cmp    %edx,%r10d
140e37cf2:	41 8d 5b 26          	lea    0x26(%r11),%ebx
140e37cf6:	41 8b c2             	mov    %r10d,%eax
140e37cf9:	45 8b fb             	mov    %r11d,%r15d
140e37cfc:	0f 43 c2             	cmovae %edx,%eax
140e37cff:	45 8b eb             	mov    %r11d,%r13d
140e37d02:	44 2b d0             	sub    %eax,%r10d
140e37d05:	8b c8                	mov    %eax,%ecx
140e37d07:	4c 03 c1             	add    %rcx,%r8
140e37d0a:	44 89 54 24 34       	mov    %r10d,0x34(%rsp)
140e37d0f:	49 8d 41 08          	lea    0x8(%r9),%rax
140e37d13:	4c 89 44 24 70       	mov    %r8,0x70(%rsp)
140e37d18:	48 03 c2             	add    %rdx,%rax
140e37d1b:	4d 8d 51 08          	lea    0x8(%r9),%r10
140e37d1f:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140e37d24:	41 2b c0             	sub    %r8d,%eax
140e37d27:	89 44 24 40          	mov    %eax,0x40(%rsp)
140e37d2b:	89 45 80             	mov    %eax,-0x80(%rbp)
140e37d2e:	4d 3b d0             	cmp    %r8,%r10
140e37d31:	0f 84 36 06 00 00    	je     0x140e3836d
140e37d37:	41 83 fd 09          	cmp    $0x9,%r13d
140e37d3b:	0f 85 f0 00 00 00    	jne    0x140e37e31
140e37d41:	45 85 f6             	test   %r14d,%r14d
140e37d44:	74 7a                	je     0x140e37dc0
140e37d46:	45 8b c3             	mov    %r11d,%r8d
140e37d49:	45 8b cb             	mov    %r11d,%r9d
140e37d4c:	41 8b d1             	mov    %r9d,%edx
140e37d4f:	41 ff c1             	inc    %r9d
140e37d52:	8b 84 95 34 03 00 00 	mov    0x334(%rbp,%rdx,4),%eax
140e37d59:	48 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%rax,%rcx
140e37d60:	41 8b c0             	mov    %r8d,%eax
140e37d63:	48 03 c8             	add    %rax,%rcx
140e37d66:	4c 8b c1             	mov    %rcx,%r8
140e37d69:	89 8c 95 34 03 00 00 	mov    %ecx,0x334(%rbp,%rdx,4)
140e37d70:	49 c1 e8 20          	shr    $0x20,%r8
140e37d74:	45 3b ce             	cmp    %r14d,%r9d
140e37d77:	75 d3                	jne    0x140e37d4c
140e37d79:	45 85 c0             	test   %r8d,%r8d
140e37d7c:	74 36                	je     0x140e37db4
140e37d7e:	83 bd 30 03 00 00 73 	cmpl   $0x73,0x330(%rbp)
140e37d85:	73 21                	jae    0x140e37da8
140e37d87:	8b 85 30 03 00 00    	mov    0x330(%rbp),%eax
140e37d8d:	44 89 84 85 34 03 00 	mov    %r8d,0x334(%rbp,%rax,4)
140e37d94:	00
140e37d95:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140e37d9c:	41 ff c6             	inc    %r14d
140e37d9f:	44 89 b5 30 03 00 00 	mov    %r14d,0x330(%rbp)
140e37da6:	eb 13                	jmp    0x140e37dbb
140e37da8:	45 8b f3             	mov    %r11d,%r14d
140e37dab:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140e37db2:	eb 07                	jmp    0x140e37dbb
140e37db4:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140e37dbb:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
140e37dc0:	45 85 ff             	test   %r15d,%r15d
140e37dc3:	74 66                	je     0x140e37e2b
140e37dc5:	41 8b d3             	mov    %r11d,%edx
140e37dc8:	45 85 f6             	test   %r14d,%r14d
140e37dcb:	74 30                	je     0x140e37dfd
140e37dcd:	8b ca                	mov    %edx,%ecx
140e37dcf:	ff c2                	inc    %edx
140e37dd1:	45 8b ff             	mov    %r15d,%r15d
140e37dd4:	8b 84 8d 34 03 00 00 	mov    0x334(%rbp,%rcx,4),%eax
140e37ddb:	4c 03 f8             	add    %rax,%r15
140e37dde:	44 89 bc 8d 34 03 00 	mov    %r15d,0x334(%rbp,%rcx,4)
140e37de5:	00
140e37de6:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140e37ded:	49 c1 ef 20          	shr    $0x20,%r15
140e37df1:	41 8b c7             	mov    %r15d,%eax
140e37df4:	41 3b d6             	cmp    %r14d,%edx
140e37df7:	75 d4                	jne    0x140e37dcd
140e37df9:	85 c0                	test   %eax,%eax
140e37dfb:	74 2e                	je     0x140e37e2b
140e37dfd:	41 83 fe 73          	cmp    $0x73,%r14d
140e37e01:	73 1e                	jae    0x140e37e21
140e37e03:	41 8b c6             	mov    %r14d,%eax
140e37e06:	44 89 bc 85 34 03 00 	mov    %r15d,0x334(%rbp,%rax,4)
140e37e0d:	00
140e37e0e:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140e37e15:	41 ff c6             	inc    %r14d
140e37e18:	44 89 b5 30 03 00 00 	mov    %r14d,0x330(%rbp)
140e37e1f:	eb 0a                	jmp    0x140e37e2b
140e37e21:	45 8b f3             	mov    %r11d,%r14d
140e37e24:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140e37e2b:	45 8b fb             	mov    %r11d,%r15d
140e37e2e:	45 8b eb             	mov    %r11d,%r13d
140e37e31:	41 0f b6 02          	movzbl (%r10),%eax
140e37e35:	43 8d 0c bf          	lea    (%r15,%r15,4),%ecx
140e37e39:	41 ff c5             	inc    %r13d
140e37e3c:	49 ff c2             	inc    %r10
140e37e3f:	44 8d 3c 48          	lea    (%rax,%rcx,2),%r15d
140e37e43:	4d 3b d0             	cmp    %r8,%r10
140e37e46:	0f 85 eb fe ff ff    	jne    0x140e37d37
140e37e4c:	45 85 ed             	test   %r13d,%r13d
140e37e4f:	0f 84 18 05 00 00    	je     0x140e3836d
140e37e55:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140e37e5a:	41 f7 e5             	mul    %r13d
140e37e5d:	8b c2                	mov    %edx,%eax
140e37e5f:	c1 e8 03             	shr    $0x3,%eax
140e37e62:	89 44 24 38          	mov    %eax,0x38(%rsp)
140e37e66:	8b c8                	mov    %eax,%ecx
140e37e68:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
140e37e6c:	85 c0                	test   %eax,%eax
140e37e6e:	0f 84 d3 03 00 00    	je     0x140e38247
140e37e74:	3b cb                	cmp    %ebx,%ecx
140e37e76:	8b c1                	mov    %ecx,%eax
140e37e78:	0f 47 c3             	cmova  %ebx,%eax
140e37e7b:	33 d2                	xor    %edx,%edx
140e37e7d:	89 44 24 30          	mov    %eax,0x30(%rsp)
140e37e81:	ff c8                	dec    %eax
140e37e83:	8b f8                	mov    %eax,%edi
140e37e85:	41 0f b6 8c 84 62 2f 	movzbl 0x11e2f62(%r12,%rax,4),%ecx
140e37e8c:	1e 01
140e37e8e:	41 0f b6 b4 84 63 2f 	movzbl 0x11e2f63(%r12,%rax,4),%esi
140e37e95:	1e 01
140e37e97:	48 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%rbx
140e37e9e:	00
140e37e9f:	8d 04 0e             	lea    (%rsi,%rcx,1),%eax
140e37ea2:	4c 8b c3             	mov    %rbx,%r8
140e37ea5:	48 8d 8d d4 06 00 00 	lea    0x6d4(%rbp),%rcx
140e37eac:	89 85 d0 06 00 00    	mov    %eax,0x6d0(%rbp)
140e37eb2:	e8 f9 77 0a 00       	call   0x140edf6b0
140e37eb7:	41 0f b7 84 bc 60 2f 	movzwl 0x11e2f60(%r12,%rdi,4),%eax
140e37ebe:	1e 01
140e37ec0:	48 8d 8d d4 06 00 00 	lea    0x6d4(%rbp),%rcx
140e37ec7:	48 c1 e6 02          	shl    $0x2,%rsi
140e37ecb:	48 03 cb             	add    %rbx,%rcx
140e37ece:	4c 8b c6             	mov    %rsi,%r8
140e37ed1:	48 8d 14 85 50 26 1e 	lea    0x11e2650(,%rax,4),%rdx
140e37ed8:	01
140e37ed9:	49 03 d4             	add    %r12,%rdx
140e37edc:	e8 2f 71 0a 00       	call   0x140edf010
140e37ee1:	44 8b 95 d0 06 00 00 	mov    0x6d0(%rbp),%r10d
140e37ee8:	41 83 fa 01          	cmp    $0x1,%r10d
140e37eec:	77 66                	ja     0x140e37f54
140e37eee:	8b 85 d4 06 00 00    	mov    0x6d4(%rbp),%eax
140e37ef4:	45 33 db             	xor    %r11d,%r11d
140e37ef7:	85 c0                	test   %eax,%eax
140e37ef9:	75 0f                	jne    0x140e37f0a
140e37efb:	45 8b f3             	mov    %r11d,%r14d
140e37efe:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140e37f05:	e9 42 01 00 00       	jmp    0x140e3804c
140e37f0a:	83 f8 01             	cmp    $0x1,%eax
140e37f0d:	0f 84 39 01 00 00    	je     0x140e3804c
140e37f13:	45 85 f6             	test   %r14d,%r14d
140e37f16:	0f 84 30 01 00 00    	je     0x140e3804c
140e37f1c:	45 8b c3             	mov    %r11d,%r8d
140e37f1f:	45 8b cb             	mov    %r11d,%r9d
140e37f22:	4c 8b d0             	mov    %rax,%r10
140e37f25:	41 8b d1             	mov    %r9d,%edx
140e37f28:	41 ff c1             	inc    %r9d