140e57d77:	0f 87 a1 01 00 00    	ja     0x140e57f1e
140e57d7d:	8d 47 ff             	lea    -0x1(%rdi),%eax
140e57d80:	89 45 c4             	mov    %eax,-0x3c(%rbp)
140e57d83:	83 f8 0b             	cmp    $0xb,%eax
140e57d86:	0f 87 92 01 00 00    	ja     0x140e57f1e
140e57d8c:	45 85 c0             	test   %r8d,%r8d
140e57d8f:	0f 8e 89 01 00 00    	jle    0x140e57f1e
140e57d95:	48 8d 0d 24 fb 38 00 	lea    0x38fb24(%rip),%rcx        # 0x1411e78c0
140e57d9c:	8b 04 b9             	mov    (%rcx,%rdi,4),%eax
140e57d9f:	2b 44 b9 fc          	sub    -0x4(%rcx,%rdi,4),%eax
140e57da3:	44 3b c0             	cmp    %eax,%r8d
140e57da6:	7e 28                	jle    0x140e57dd0
140e57da8:	8b cb                	mov    %ebx,%ecx
140e57daa:	e8 85 a2 fe ff       	call   0x140e42034
140e57daf:	84 c0                	test   %al,%al
140e57db1:	0f 84 67 01 00 00    	je     0x140e57f1e
140e57db7:	83 ff 02             	cmp    $0x2,%edi
140e57dba:	0f 85 5e 01 00 00    	jne    0x140e57f1e
140e57dc0:	83 fe 1d             	cmp    $0x1d,%esi
140e57dc3:	0f 8f 55 01 00 00    	jg     0x140e57f1e
140e57dc9:	48 8d 0d f0 fa 38 00 	lea    0x38faf0(%rip),%rcx        # 0x1411e78c0
140e57dd0:	41 83 fd 17          	cmp    $0x17,%r13d
140e57dd4:	0f 87 44 01 00 00    	ja     0x140e57f1e
140e57dda:	41 83 fc 3b          	cmp    $0x3b,%r12d
140e57dde:	0f 87 3a 01 00 00    	ja     0x140e57f1e
140e57de4:	41 83 ff 3b          	cmp    $0x3b,%r15d
140e57de8:	0f 87 30 01 00 00    	ja     0x140e57f1e
140e57dee:	03 74 b9 fc          	add    -0x4(%rcx,%rdi,4),%esi
140e57df2:	8b cb                	mov    %ebx,%ecx
140e57df4:	e8 3b a2 fe ff       	call   0x140e42034
140e57df9:	45 33 f6             	xor    %r14d,%r14d
140e57dfc:	84 c0                	test   %al,%al
140e57dfe:	74 07                	je     0x140e57e07
140e57e00:	83 ff 02             	cmp    $0x2,%edi
140e57e03:	7e 02                	jle    0x140e57e07
140e57e05:	ff c6                	inc    %esi
140e57e07:	e8 e8 b6 ff ff       	call   0x140e534f4
140e57e0c:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140e57e10:	44 89 75 c0          	mov    %r14d,-0x40(%rbp)
140e57e14:	44 89 75 bc          	mov    %r14d,-0x44(%rbp)
140e57e18:	44 89 75 b8          	mov    %r14d,-0x48(%rbp)
140e57e1c:	e8 67 0c 00 00       	call   0x140e58a88
140e57e21:	85 c0                	test   %eax,%eax
140e57e23:	0f 85 21 01 00 00    	jne    0x140e57f4a
140e57e29:	48 8d 4d bc          	lea    -0x44(%rbp),%rcx
140e57e2d:	e8 86 0c 00 00       	call   0x140e58ab8
140e57e32:	85 c0                	test   %eax,%eax
140e57e34:	0f 85 10 01 00 00    	jne    0x140e57f4a
140e57e3a:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140e57e3e:	e8 a5 0c 00 00       	call   0x140e58ae8
140e57e43:	85 c0                	test   %eax,%eax
140e57e45:	0f 85 ff 00 00 00    	jne    0x140e57f4a
140e57e4b:	4c 63 75 bc          	movslq -0x44(%rbp),%r14
140e57e4f:	8d 8b 2b 01 00 00    	lea    0x12b(%rbx),%ecx
140e57e55:	41 ba 1f 85 eb 51    	mov    $0x51eb851f,%r10d
140e57e5b:	44 8d 43 ff          	lea    -0x1(%rbx),%r8d
140e57e5f:	41 8b c2             	mov    %r10d,%eax
140e57e62:	f7 e9                	imul   %ecx
140e57e64:	41 8b c2             	mov    %r10d,%eax
140e57e67:	44 8b ca             	mov    %edx,%r9d
140e57e6a:	41 f7 e8             	imul   %r8d
140e57e6d:	41 c1 f9 07          	sar    $0x7,%r9d
140e57e71:	41 8b c0             	mov    %r8d,%eax
140e57e74:	c1 fa 05             	sar    $0x5,%edx
140e57e77:	41 8b c9             	mov    %r9d,%ecx
140e57e7a:	c1 e9 1f             	shr    $0x1f,%ecx
140e57e7d:	44 03 c9             	add    %ecx,%r9d
140e57e80:	8b ca                	mov    %edx,%ecx
140e57e82:	c1 e9 1f             	shr    $0x1f,%ecx
140e57e85:	03 d1                	add    %ecx,%edx
140e57e87:	44 2b ca             	sub    %edx,%r9d
140e57e8a:	99                   	cltd
140e57e8b:	83 e2 03             	and    $0x3,%edx
140e57e8e:	8d 0c 02             	lea    (%rdx,%rax,1),%ecx
140e57e91:	48 63 c3             	movslq %ebx,%rax
140e57e94:	c1 f9 02             	sar    $0x2,%ecx
140e57e97:	48 83 c0 ba          	add    $0xffffffffffffffba,%rax
140e57e9b:	83 c1 ef             	add    $0xffffffef,%ecx
140e57e9e:	41 03 c9             	add    %r9d,%ecx
140e57ea1:	48 63 d1             	movslq %ecx,%rdx
140e57ea4:	48 69 c8 6d 01 00 00 	imul   $0x16d,%rax,%rcx
140e57eab:	48 63 c6             	movslq %esi,%rax
140e57eae:	48 03 d1             	add    %rcx,%rdx
140e57eb1:	48 03 d0             	add    %rax,%rdx
140e57eb4:	48 63 45 b8          	movslq -0x48(%rbp),%rax
140e57eb8:	48 8d 0c 52          	lea    (%rdx,%rdx,2),%rcx
140e57ebc:	48 8d 0c cd 00 00 00 	lea    0x0(,%rcx,8),%rcx
140e57ec3:	00
140e57ec4:	49 03 cd             	add    %r13,%rcx
140e57ec7:	48 6b d1 3c          	imul   $0x3c,%rcx,%rdx
140e57ecb:	49 03 d4             	add    %r12,%rdx
140e57ece:	48 6b fa 3c          	imul   $0x3c,%rdx,%rdi
140e57ed2:	48 03 f8             	add    %rax,%rdi
140e57ed5:	49 03 ff             	add    %r15,%rdi
140e57ed8:	4c 03 f7             	add    %rdi,%r14
140e57edb:	83 7d 78 01          	cmpl   $0x1,0x78(%rbp)
140e57edf:	74 38                	je     0x140e57f19
140e57ee1:	83 7d 78 ff          	cmpl   $0xffffffff,0x78(%rbp)
140e57ee5:	8b 45 c4             	mov    -0x3c(%rbp),%eax
140e57ee8:	89 45 d8             	mov    %eax,-0x28(%rbp)
140e57eeb:	89 75 e4             	mov    %esi,-0x1c(%rbp)
140e57eee:	89 5d dc             	mov    %ebx,-0x24(%rbp)
140e57ef1:	44 89 6d d0          	mov    %r13d,-0x30(%rbp)
140e57ef5:	44 89 65 cc          	mov    %r12d,-0x34(%rbp)
140e57ef9:	44 89 7d c8          	mov    %r15d,-0x38(%rbp)
140e57efd:	75 15                	jne    0x140e57f14
140e57eff:	83 7d c0 00          	cmpl   $0x0,-0x40(%rbp)
140e57f03:	74 0f                	je     0x140e57f14
140e57f05:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
140e57f09:	e8 2a b6 ff ff       	call   0x140e53538
140e57f0e:	85 c0                	test   %eax,%eax
140e57f10:	49 0f 45 fe          	cmovne %r14,%rdi
140e57f14:	48 8b c7             	mov    %rdi,%rax
140e57f17:	eb 14                	jmp    0x140e57f2d
140e57f19:	49 8b c6             	mov    %r14,%rax
140e57f1c:	eb 0f                	jmp    0x140e57f2d
140e57f1e:	e8 cd 23 fd ff       	call   0x140e2a2f0
140e57f23:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e57f29:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140e57f2d:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
140e57f31:	48 33 cc             	xor    %rsp,%rcx
140e57f34:	e8 c7 35 fc ff       	call   0x140e1b500
140e57f39:	48 83 c4 78          	add    $0x78,%rsp
140e57f3d:	41 5f                	pop    %r15
140e57f3f:	41 5e                	pop    %r14
140e57f41:	41 5d                	pop    %r13
140e57f43:	41 5c                	pop    %r12
140e57f45:	5f                   	pop    %rdi
140e57f46:	5e                   	pop    %rsi
140e57f47:	5b                   	pop    %rbx
140e57f48:	5d                   	pop    %rbp
140e57f49:	c3                   	ret
140e57f4a:	45 33 c9             	xor    %r9d,%r9d
140e57f4d:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140e57f52:	45 33 c0             	xor    %r8d,%r8d
140e57f55:	33 d2                	xor    %edx,%edx
140e57f57:	33 c9                	xor    %ecx,%ecx
140e57f59:	e8 76 22 fd ff       	call   0x140e2a1d4
140e57f5e:	cc                   	int3
140e57f5f:	cc                   	int3
140e57f60:	e9 af fb ff ff       	jmp    0x140e57b14
140e57f65:	cc                   	int3
140e57f66:	cc                   	int3
140e57f67:	cc                   	int3
140e57f68:	e9 bf fd ff ff       	jmp    0x140e57d2c
140e57f6d:	cc                   	int3
140e57f6e:	cc                   	int3
140e57f6f:	cc                   	int3
140e57f70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e57f75:	57                   	push   %rdi
140e57f76:	48 83 ec 30          	sub    $0x30,%rsp
140e57f7a:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
140e57f7f:	b9 08 00 00 00       	mov    $0x8,%ecx
140e57f84:	e8 0f 60 ff ff       	call   0x140e4df98
140e57f89:	90                   	nop
140e57f8a:	bb 03 00 00 00       	mov    $0x3,%ebx
140e57f8f:	89 5c 24 24          	mov    %ebx,0x24(%rsp)
140e57f93:	3b 1d 7f 74 64 00    	cmp    0x64747f(%rip),%ebx        # 0x14149f418
140e57f99:	74 6e                	je     0x140e58009
140e57f9b:	48 63 fb             	movslq %ebx,%rdi
140e57f9e:	48 8b 05 7b 74 64 00 	mov    0x64747b(%rip),%rax        # 0x14149f420
140e57fa5:	48 8b 0c f8          	mov    (%rax,%rdi,8),%rcx
140e57fa9:	48 85 c9             	test   %rcx,%rcx
140e57fac:	75 02                	jne    0x140e57fb0
140e57fae:	eb 55                	jmp    0x140e58005
140e57fb0:	8b 41 14             	mov    0x14(%rcx),%eax
140e57fb3:	90                   	nop
140e57fb4:	c1 e8 0d             	shr    $0xd,%eax
140e57fb7:	24 01                	and    $0x1,%al
140e57fb9:	74 19                	je     0x140e57fd4
140e57fbb:	48 8b 0d 5e 74 64 00 	mov    0x64745e(%rip),%rcx        # 0x14149f420
140e57fc2:	48 8b 0c f9          	mov    (%rcx,%rdi,8),%rcx
140e57fc6:	e8 75 7f 3f ff       	call   0x14024ff40
140e57fcb:	83 f8 ff             	cmp    $0xffffffff,%eax
140e57fce:	74 04                	je     0x140e57fd4
140e57fd0:	ff 44 24 20          	incl   0x20(%rsp)
140e57fd4:	48 8b 05 45 74 64 00 	mov    0x647445(%rip),%rax        # 0x14149f420
140e57fdb:	48 8b 0c f8          	mov    (%rax,%rdi,8),%rcx
140e57fdf:	48 83 c1 30          	add    $0x30,%rcx
140e57fe3:	ff 15 3f b3 12 00    	call   *0x12b33f(%rip)        # 0x140f83328
140e57fe9:	48 8b 0d 30 74 64 00 	mov    0x647430(%rip),%rcx        # 0x14149f420
140e57ff0:	48 8b 0c f9          	mov    (%rcx,%rdi,8),%rcx
140e57ff4:	e8 7b bc ff ff       	call   0x140e53c74
140e57ff9:	48 8b 05 20 74 64 00 	mov    0x647420(%rip),%rax        # 0x14149f420
140e58000:	48 83 24 f8 00       	andq   $0x0,(%rax,%rdi,8)
140e58005:	ff c3                	inc    %ebx
140e58007:	eb 86                	jmp    0x140e57f8f
140e58009:	b9 08 00 00 00       	mov    $0x8,%ecx
140e5800e:	e8 e5 5f ff ff       	call   0x140e4dff8
140e58013:	8b 44 24 20          	mov    0x20(%rsp),%eax
140e58017:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140e5801c:	48 83 c4 30          	add    $0x30,%rsp
140e58020:	5f                   	pop    %rdi
140e58021:	c3                   	ret
140e58022:	cc                   	int3
140e58023:	cc                   	int3
140e58024:	48 8b c4             	mov    %rsp,%rax
140e58027:	48 89 58 10          	mov    %rbx,0x10(%rax)
140e5802b:	48 89 68 18          	mov    %rbp,0x18(%rax)
140e5802f:	48 89 70 20          	mov    %rsi,0x20(%rax)
140e58033:	88 48 08             	mov    %cl,0x8(%rax)
140e58036:	57                   	push   %rdi
140e58037:	48 83 ec 20          	sub    $0x20,%rsp
140e5803b:	48 8b ca             	mov    %rdx,%rcx
140e5803e:	49 8b f0             	mov    %r8,%rsi
140e58041:	48 8b da             	mov    %rdx,%rbx
140e58044:	e8 17 ae fd ff       	call   0x140e32e60
140e58049:	8b 4b 14             	mov    0x14(%rbx),%ecx
140e5804c:	90                   	nop
140e5804d:	4c 63 d0             	movslq %eax,%r10
140e58050:	f6 c1 c0             	test   $0xc0,%cl
140e58053:	0f 84 91 00 00 00    	je     0x140e580ea
140e58059:	8b 3b                	mov    (%rbx),%edi
140e5805b:	33 ed                	xor    %ebp,%ebp
140e5805d:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140e58061:	2b 7b 08             	sub    0x8(%rbx),%edi
140e58064:	48 8d 42 01          	lea    0x1(%rdx),%rax
140e58068:	48 89 03             	mov    %rax,(%rbx)
140e5806b:	8b 43 20             	mov    0x20(%rbx),%eax
140e5806e:	ff c8                	dec    %eax
140e58070:	89 43 10             	mov    %eax,0x10(%rbx)
140e58073:	85 ff                	test   %edi,%edi
140e58075:	7e 1e                	jle    0x140e58095
140e58077:	4c 8b ce             	mov    %rsi,%r9
140e5807a:	44 8b c7             	mov    %edi,%r8d
140e5807d:	41 8b ca             	mov    %r10d,%ecx
140e58080:	e8 6b 9d ff ff       	call   0x140e51df0
140e58085:	8b e8                	mov    %eax,%ebp
140e58087:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e5808b:	3b ef                	cmp    %edi,%ebp
140e5808d:	8a 44 24 30          	mov    0x30(%rsp),%al
140e58091:	88 01                	mov    %al,(%rcx)
140e58093:	eb 6e                	jmp    0x140e58103
140e58095:	41 8d 42 02          	lea    0x2(%r10),%eax
140e58099:	83 f8 01             	cmp    $0x1,%eax
140e5809c:	76 22                	jbe    0x140e580c0
140e5809e:	49 8b ca             	mov    %r10,%rcx
140e580a1:	48 8d 15 c8 78 64 00 	lea    0x6478c8(%rip),%rdx        # 0x14149f970
140e580a8:	49 8b c2             	mov    %r10,%rax
140e580ab:	48 c1 f8 06          	sar    $0x6,%rax
140e580af:	83 e1 3f             	and    $0x3f,%ecx
140e580b2:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
140e580b6:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
140e580ba:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
140e580be:	eb 07                	jmp    0x140e580c7
140e580c0:	48 8d 15 69 13 56 00 	lea    0x561369(%rip),%rdx        # 0x1413b9430
140e580c7:	f6 42 38 20          	testb  $0x20,0x38(%rdx)
140e580cb:	74 ba                	je     0x140e58087
140e580cd:	33 d2                	xor    %edx,%edx
140e580cf:	41 8b ca             	mov    %r10d,%ecx
140e580d2:	44 8d 42 02          	lea    0x2(%rdx),%r8d
140e580d6:	e8 29 5d ff ff       	call   0x140e4de04
140e580db:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140e580df:	75 a6                	jne    0x140e58087
140e580e1:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
140e580e6:	b0 01                	mov    $0x1,%al
140e580e8:	eb 1c                	jmp    0x140e58106
140e580ea:	4c 8b ce             	mov    %rsi,%r9
140e580ed:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140e580f2:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e580f8:	41 8b ca             	mov    %r10d,%ecx
140e580fb:	e8 f0 9c ff ff       	call   0x140e51df0
140e58100:	83 f8 01             	cmp    $0x1,%eax
140e58103:	0f 94 c0             	sete   %al
140e58106:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140e5810b:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140e58110:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140e58115:	48 83 c4 20          	add    $0x20,%rsp
140e58119:	5f                   	pop    %rdi
140e5811a:	c3                   	ret
140e5811b:	cc                   	int3
140e5811c:	40 53                	rex push %rbx
140e5811e:	48 83 ec 20          	sub    $0x20,%rsp
140e58122:	8b 51 14             	mov    0x14(%rcx),%edx
140e58125:	90                   	nop
140e58126:	c1 ea 03             	shr    $0x3,%edx
140e58129:	f6 c2 01             	test   $0x1,%dl
140e5812c:	74 04                	je     0x140e58132
140e5812e:	b0 01                	mov    $0x1,%al
140e58130:	eb 60                	jmp    0x140e58192
140e58132:	8b 41 14             	mov    0x14(%rcx),%eax
140e58135:	90                   	nop
140e58136:	a8 c0                	test   $0xc0,%al
140e58138:	74 09                	je     0x140e58143
140e5813a:	48 8b 41 08          	mov    0x8(%rcx),%rax
140e5813e:	48 39 01             	cmp    %rax,(%rcx)
140e58141:	74 4d                	je     0x140e58190
140e58143:	8b 49 18             	mov    0x18(%rcx),%ecx
140e58146:	90                   	nop
140e58147:	e8 94 3d fe ff       	call   0x140e3bee0
140e5814c:	48 8b d8             	mov    %rax,%rbx
140e5814f:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140e58153:	74 3b                	je     0x140e58190
140e58155:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e5815b:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140e58160:	33 d2                	xor    %edx,%edx
140e58162:	48 8b c8             	mov    %rax,%rcx
140e58165:	ff 15 9d b4 12 00    	call   *0x12b49d(%rip)        # 0x140f83608
140e5816b:	85 c0                	test   %eax,%eax
140e5816d:	74 21                	je     0x140e58190
140e5816f:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140e58174:	48 8b cb             	mov    %rbx,%rcx
140e58177:	ff 15 7b b4 12 00    	call   *0x12b47b(%rip)        # 0x140f835f8
140e5817d:	85 c0                	test   %eax,%eax
140e5817f:	74 0f                	je     0x140e58190
140e58181:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140e58186:	48 39 44 24 38       	cmp    %rax,0x38(%rsp)
140e5818b:	0f 94 c0             	sete   %al
140e5818e:	eb 02                	jmp    0x140e58192
140e58190:	32 c0                	xor    %al,%al
140e58192:	48 83 c4 20          	add    $0x20,%rsp
140e58196:	5b                   	pop    %rbx
140e58197:	c3                   	ret
140e58198:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e5819d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140e581a2:	57                   	push   %rdi
140e581a3:	48 83 ec 20          	sub    $0x20,%rsp
140e581a7:	8b f1                	mov    %ecx,%esi
140e581a9:	49 8b f8             	mov    %r8,%rdi
140e581ac:	48 8b ca             	mov    %rdx,%rcx
140e581af:	48 8b da             	mov    %rdx,%rbx
140e581b2:	e8 a9 ac fd ff       	call   0x140e32e60
140e581b7:	8b 43 14             	mov    0x14(%rbx),%eax
140e581ba:	90                   	nop
140e581bb:	a8 06                	test   $0x6,%al
140e581bd:	75 15                	jne    0x140e581d4
140e581bf:	c7 47 2c 09 00 00 00 	movl   $0x9,0x2c(%rdi)
140e581c6:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
140e581ca:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
140e581cf:	83 c8 ff             	or     $0xffffffff,%eax
140e581d2:	eb 7f                	jmp    0x140e58253
140e581d4:	8b 43 14             	mov    0x14(%rbx),%eax
140e581d7:	90                   	nop
140e581d8:	c1 e8 0c             	shr    $0xc,%eax
140e581db:	a8 01                	test   $0x1,%al
140e581dd:	74 09                	je     0x140e581e8
140e581df:	c7 47 2c 22 00 00 00 	movl   $0x22,0x2c(%rdi)
140e581e6:	eb de                	jmp    0x140e581c6
140e581e8:	8b 43 14             	mov    0x14(%rbx),%eax
140e581eb:	90                   	nop
140e581ec:	a8 01                	test   $0x1,%al
140e581ee:	74 1c                	je     0x140e5820c
140e581f0:	48 8b cb             	mov    %rbx,%rcx
140e581f3:	e8 24 ff ff ff       	call   0x140e5811c
140e581f8:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140e581fc:	84 c0                	test   %al,%al
140e581fe:	74 ca                	je     0x140e581ca
140e58200:	48 8b 43 08          	mov    0x8(%rbx),%rax
140e58204:	48 89 03             	mov    %rax,(%rbx)
140e58207:	f0 83 63 14 fe       	lock andl $0xfffffffe,0x14(%rbx)