140988d3e:	0f 87 97 00 00 00    	ja     0x140988ddb
140988d44:	4b 8d 04 3e          	lea    (%r14,%r15,1),%rax
140988d48:	49 3b c6             	cmp    %r14,%rax
140988d4b:	0f 82 8a 00 00 00    	jb     0x140988ddb
140988d51:	49 8d 0c 2c          	lea    (%r12,%rbp,1),%rcx
140988d55:	48 3b c1             	cmp    %rcx,%rax
140988d58:	77 57                	ja     0x140988db1
140988d5a:	83 7c 24 20 00       	cmpl   $0x0,0x20(%rsp)
140988d5f:	74 05                	je     0x140988d66
140988d61:	48 3b c1             	cmp    %rcx,%rax
140988d64:	75 4b                	jne    0x140988db1
140988d66:	48 b8 c9 42 16 b2 90 	movabs $0x642c8590b21642c9,%rax
140988d6d:	85 2c 64
140988d70:	49 f7 e7             	mul    %r15
140988d73:	49 8b c7             	mov    %r15,%rax
140988d76:	48 2b c2             	sub    %rdx,%rax
140988d79:	48 d1 e8             	shr    $1,%rax
140988d7c:	48 03 c2             	add    %rdx,%rax
140988d7f:	48 c1 e8 05          	shr    $0x5,%rax
140988d83:	4c 3b e8             	cmp    %rax,%r13
140988d86:	76 0b                	jbe    0x140988d93
140988d88:	ba 15 00 00 00       	mov    $0x15,%edx
140988d8d:	44 8d 42 f6          	lea    -0xa(%rdx),%r8d
140988d91:	eb 51                	jmp    0x140988de4
140988d93:	48 8b d7             	mov    %rdi,%rdx
140988d96:	49 8b cd             	mov    %r13,%rcx
140988d99:	e8 a2 37 00 00       	call   0x14098c540
140988d9e:	48 85 c0             	test   %rax,%rax
140988da1:	74 49                	je     0x140988dec
140988da3:	c6 40 30 01          	movb   $0x1,0x30(%rax)
140988da7:	4c 89 78 18          	mov    %r15,0x18(%rax)
140988dab:	4c 89 70 20          	mov    %r14,0x20(%rax)
140988daf:	eb 3d                	jmp    0x140988dee
140988db1:	ba 15 00 00 00       	mov    $0x15,%edx
140988db6:	44 8d 42 ec          	lea    -0x14(%rdx),%r8d
140988dba:	eb 28                	jmp    0x140988de4
140988dbc:	ba 01 00 00 00       	mov    $0x1,%edx
140988dc1:	45 33 c0             	xor    %r8d,%r8d
140988dc4:	48 8b cf             	mov    %rdi,%rcx
140988dc7:	e8 c4 eb ff ff       	call   0x140987990
140988dcc:	40 84 f6             	test   %sil,%sil
140988dcf:	74 1b                	je     0x140988dec
140988dd1:	48 8b cb             	mov    %rbx,%rcx
140988dd4:	e8 37 30 00 00       	call   0x14098be10
140988dd9:	eb 11                	jmp    0x140988dec
140988ddb:	ba 04 00 00 00       	mov    $0x4,%edx
140988de0:	44 8d 42 17          	lea    0x17(%rdx),%r8d
140988de4:	48 8b cf             	mov    %rdi,%rcx
140988de7:	e8 a4 eb ff ff       	call   0x140987990
140988dec:	33 c0                	xor    %eax,%eax
140988dee:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
140988df3:	48 33 cc             	xor    %rsp,%rcx
140988df6:	e8 05 27 49 00       	call   0x140e1b500
140988dfb:	48 8b 9c 24 c8 00 00 	mov    0xc8(%rsp),%rbx
140988e02:	00
140988e03:	48 83 c4 70          	add    $0x70,%rsp
140988e07:	41 5f                	pop    %r15
140988e09:	41 5e                	pop    %r14
140988e0b:	41 5d                	pop    %r13
140988e0d:	41 5c                	pop    %r12
140988e0f:	5f                   	pop    %rdi
140988e10:	5e                   	pop    %rsi
140988e11:	5d                   	pop    %rbp
140988e12:	c3                   	ret
140988e13:	cc                   	int3
140988e14:	cc                   	int3
140988e15:	cc                   	int3
140988e16:	cc                   	int3
140988e17:	cc                   	int3
140988e18:	cc                   	int3
140988e19:	cc                   	int3
140988e1a:	cc                   	int3
140988e1b:	cc                   	int3
140988e1c:	cc                   	int3
140988e1d:	cc                   	int3
140988e1e:	cc                   	int3
140988e1f:	cc                   	int3
140988e20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140988e25:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140988e2a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140988e2f:	57                   	push   %rdi
140988e30:	48 83 ec 30          	sub    $0x30,%rsp
140988e34:	48 8b d9             	mov    %rcx,%rbx
140988e37:	49 8b f8             	mov    %r8,%rdi
140988e3a:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988e3f:	8b ea                	mov    %edx,%ebp
140988e41:	e8 da ea ff ff       	call   0x140987920
140988e46:	33 d2                	xor    %edx,%edx
140988e48:	4c 8d 4c 24 20       	lea    0x20(%rsp),%r9
140988e4d:	48 8b cb             	mov    %rbx,%rcx
140988e50:	4c 8d 42 ff          	lea    -0x1(%rdx),%r8
140988e54:	e8 d7 16 00 00       	call   0x14098a530
140988e59:	48 8b f0             	mov    %rax,%rsi
140988e5c:	48 85 c0             	test   %rax,%rax
140988e5f:	74 1f                	je     0x140988e80
140988e61:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140988e66:	8b d5                	mov    %ebp,%edx
140988e68:	48 8b c8             	mov    %rax,%rcx
140988e6b:	e8 80 00 00 00       	call   0x140988ef0
140988e70:	48 8b d8             	mov    %rax,%rbx
140988e73:	48 85 c0             	test   %rax,%rax
140988e76:	75 50                	jne    0x140988ec8
140988e78:	48 8b ce             	mov    %rsi,%rcx
140988e7b:	e8 b0 17 00 00       	call   0x14098a630
140988e80:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988e85:	e8 76 63 84 ff       	call   0x1401cf200
140988e8a:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988e8f:	8b f0                	mov    %eax,%esi
140988e91:	e8 0a eb ff ff       	call   0x1409879a0
140988e96:	83 e8 01             	sub    $0x1,%eax
140988e99:	74 05                	je     0x140988ea0
140988e9b:	83 f8 02             	cmp    $0x2,%eax
140988e9e:	75 13                	jne    0x140988eb3
140988ea0:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988ea5:	e8 66 af 82 ff       	call   0x1401b3e10
140988eaa:	8b d8                	mov    %eax,%ebx
140988eac:	e8 3f 14 4a 00       	call   0x140e2a2f0
140988eb1:	89 18                	mov    %ebx,(%rax)
140988eb3:	48 85 ff             	test   %rdi,%rdi
140988eb6:	74 02                	je     0x140988eba
140988eb8:	89 37                	mov    %esi,(%rdi)
140988eba:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988ebf:	e8 3c ea ff ff       	call   0x140987900
140988ec4:	33 c0                	xor    %eax,%eax
140988ec6:	eb 0d                	jmp    0x140988ed5
140988ec8:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988ecd:	e8 2e ea ff ff       	call   0x140987900
140988ed2:	48 8b c3             	mov    %rbx,%rax
140988ed5:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140988eda:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140988edf:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140988ee4:	48 83 c4 30          	add    $0x30,%rsp
140988ee8:	5f                   	pop    %rdi
140988ee9:	c3                   	ret
140988eea:	cc                   	int3
140988eeb:	cc                   	int3
140988eec:	cc                   	int3
140988eed:	cc                   	int3
140988eee:	cc                   	int3
140988eef:	cc                   	int3
140988ef0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140988ef5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140988efa:	57                   	push   %rdi
140988efb:	48 83 ec 60          	sub    $0x60,%rsp
140988eff:	49 8b d8             	mov    %r8,%rbx
140988f02:	8b ea                	mov    %edx,%ebp
140988f04:	48 8b f9             	mov    %rcx,%rdi
140988f07:	85 d2                	test   %edx,%edx
140988f09:	0f 88 53 01 00 00    	js     0x140989062
140988f0f:	48 85 c9             	test   %rcx,%rcx
140988f12:	0f 84 4a 01 00 00    	je     0x140989062
140988f18:	e8 e3 11 82 ff       	call   0x1401aa100
140988f1d:	4c 8b c8             	mov    %rax,%r9
140988f20:	41 81 e1 ff 40 00 00 	and    $0x40ff,%r9d
140988f27:	49 81 f9 ff 40 00 00 	cmp    $0x40ff,%r9
140988f2e:	74 24                	je     0x140988f54
140988f30:	45 33 c0             	xor    %r8d,%r8d
140988f33:	48 8b cb             	mov    %rbx,%rcx
140988f36:	41 8d 50 1c          	lea    0x1c(%r8),%edx
140988f3a:	e8 51 ea ff ff       	call   0x140987990
140988f3f:	33 c0                	xor    %eax,%eax
140988f41:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
140988f46:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140988f4d:	00
140988f4e:	48 83 c4 60          	add    $0x60,%rsp
140988f52:	5f                   	pop    %rdi
140988f53:	c3                   	ret
140988f54:	48 89 74 24 70       	mov    %rsi,0x70(%rsp)
140988f59:	8b f5                	mov    %ebp,%esi
140988f5b:	83 ce 10             	or     $0x10,%esi
140988f5e:	66 3d ff ff          	cmp    $0xffff,%ax
140988f62:	0f 44 f5             	cmove  %ebp,%esi
140988f65:	8b c6                	mov    %esi,%eax
140988f67:	83 e0 18             	and    $0x18,%eax
140988f6a:	3c 18                	cmp    $0x18,%al
140988f6c:	75 29                	jne    0x140988f97
140988f6e:	45 33 c0             	xor    %r8d,%r8d
140988f71:	41 8d 50 19          	lea    0x19(%r8),%edx
140988f75:	48 8b cb             	mov    %rbx,%rcx
140988f78:	e8 13 ea ff ff       	call   0x140987990
140988f7d:	33 c0                	xor    %eax,%eax
140988f7f:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140988f84:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
140988f89:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140988f90:	00
140988f91:	48 83 c4 60          	add    $0x60,%rsp
140988f95:	5f                   	pop    %rdi
140988f96:	c3                   	ret
140988f97:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140988f9c:	e8 3f 1c 00 00       	call   0x14098abe0
140988fa1:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140988fa6:	48 8b cf             	mov    %rdi,%rcx
140988fa9:	e8 02 22 00 00       	call   0x14098b1b0
140988fae:	85 c0                	test   %eax,%eax
140988fb0:	74 52                	je     0x140989004
140988fb2:	48 8b cf             	mov    %rdi,%rcx
140988fb5:	e8 a6 13 81 ff       	call   0x14019a360
140988fba:	48 8b c8             	mov    %rax,%rcx
140988fbd:	48 8b e8             	mov    %rax,%rbp
140988fc0:	e8 3b 62 84 ff       	call   0x1401cf200
140988fc5:	83 f8 05             	cmp    $0x5,%eax
140988fc8:	75 2a                	jne    0x140988ff4
140988fca:	48 8b cd             	mov    %rbp,%rcx
140988fcd:	e8 3e ae 82 ff       	call   0x1401b3e10
140988fd2:	83 f8 02             	cmp    $0x2,%eax
140988fd5:	75 1d                	jne    0x140988ff4
140988fd7:	40 f6 c6 01          	test   $0x1,%sil
140988fdb:	75 08                	jne    0x140988fe5
140988fdd:	45 33 c0             	xor    %r8d,%r8d
140988fe0:	8d 50 07             	lea    0x7(%rax),%edx
140988fe3:	eb 90                	jmp    0x140988f75
140988fe5:	4c 8b c3             	mov    %rbx,%r8
140988fe8:	8b d6                	mov    %esi,%edx
140988fea:	48 8b cf             	mov    %rdi,%rcx
140988fed:	e8 de ed ff ff       	call   0x140987dd0
140988ff2:	eb 8b                	jmp    0x140988f7f
140988ff4:	48 8b d5             	mov    %rbp,%rdx
140988ff7:	48 8b cb             	mov    %rbx,%rcx
140988ffa:	e8 81 e8 ff ff       	call   0x140987880
140988fff:	e9 79 ff ff ff       	jmp    0x140988f7d
140989004:	40 f6 c6 02          	test   $0x2,%sil
140989008:	74 0c                	je     0x140989016
14098900a:	45 33 c0             	xor    %r8d,%r8d
14098900d:	41 8d 50 0a          	lea    0xa(%r8),%edx
140989011:	e9 5f ff ff ff       	jmp    0x140988f75
140989016:	48 8b cf             	mov    %rdi,%rcx
140989019:	e8 02 18 00 00       	call   0x14098a820
14098901e:	85 c0                	test   %eax,%eax
140989020:	79 10                	jns    0x140989032
140989022:	48 8b d7             	mov    %rdi,%rdx
140989025:	48 8b cb             	mov    %rbx,%rcx
140989028:	e8 a3 e8 ff ff       	call   0x1409878d0
14098902d:	e9 4b ff ff ff       	jmp    0x140988f7d
140989032:	4c 8b c3             	mov    %rbx,%r8
140989035:	8b d6                	mov    %esi,%edx
140989037:	48 8b cf             	mov    %rdi,%rcx
14098903a:	40 f6 c6 08          	test   $0x8,%sil
14098903e:	74 07                	je     0x140989047
140989040:	e8 8b ed ff ff       	call   0x140987dd0
140989045:	eb 05                	jmp    0x14098904c
140989047:	e8 84 f3 ff ff       	call   0x1409883d0
14098904c:	48 85 c0             	test   %rax,%rax
14098904f:	0f 85 2a ff ff ff    	jne    0x140988f7f
140989055:	48 8b cf             	mov    %rdi,%rcx
140989058:	e8 63 14 00 00       	call   0x14098a4c0
14098905d:	e9 1b ff ff ff       	jmp    0x140988f7d
140989062:	45 33 c0             	xor    %r8d,%r8d
140989065:	48 8b cb             	mov    %rbx,%rcx
140989068:	41 8d 50 12          	lea    0x12(%r8),%edx
14098906c:	e8 1f e9 ff ff       	call   0x140987990
140989071:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
140989076:	33 c0                	xor    %eax,%eax
140989078:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
14098907f:	00
140989080:	48 83 c4 60          	add    $0x60,%rsp
140989084:	5f                   	pop    %rdi
140989085:	c3                   	ret
140989086:	cc                   	int3
140989087:	cc                   	int3
140989088:	cc                   	int3
140989089:	cc                   	int3
14098908a:	cc                   	int3
14098908b:	cc                   	int3
14098908c:	cc                   	int3
14098908d:	cc                   	int3
14098908e:	cc                   	int3
14098908f:	cc                   	int3
140989090:	48 85 c9             	test   %rcx,%rcx
140989093:	74 75                	je     0x14098910a
140989095:	53                   	push   %rbx
140989096:	48 83 ec 30          	sub    $0x30,%rsp
14098909a:	48 8b 41 08          	mov    0x8(%rcx),%rax
14098909e:	48 8b d9             	mov    %rcx,%rbx
1409890a1:	48 85 c0             	test   %rax,%rax
1409890a4:	74 49                	je     0x1409890ef
1409890a6:	f2 0f 10 0d a2 8e 62 	movsd  0x628ea2(%rip),%xmm1        # 0x140fb1f50
1409890ad:	00
1409890ae:	0f 29 74 24 20       	movaps %xmm6,0x20(%rsp)
1409890b3:	f2 0f 10 71 50       	movsd  0x50(%rcx),%xmm6
1409890b8:	f2 0f 5c 71 48       	subsd  0x48(%rcx),%xmm6
1409890bd:	f2 0f 59 f1          	mulsd  %xmm1,%xmm6
1409890c1:	f2 0f 58 71 48       	addsd  0x48(%rcx),%xmm6
1409890c6:	0f 28 c6             	movaps %xmm6,%xmm0
1409890c9:	f2 0f 5c 41 40       	subsd  0x40(%rcx),%xmm0
1409890ce:	66 0f 2f 41 38       	comisd 0x38(%rcx),%xmm0
1409890d3:	76 15                	jbe    0x1409890ea
1409890d5:	4c 8b 41 18          	mov    0x18(%rcx),%r8
1409890d9:	0f 28 ce             	movaps %xmm6,%xmm1
1409890dc:	48 8b 09             	mov    (%rcx),%rcx
1409890df:	ff 15 3b a9 5f 00    	call   *0x5fa93b(%rip)        # 0x140f83a20
1409890e5:	f2 0f 11 73 40       	movsd  %xmm6,0x40(%rbx)
1409890ea:	0f 28 74 24 20       	movaps 0x20(%rsp),%xmm6
1409890ef:	48 8b 43 20          	mov    0x20(%rbx),%rax
1409890f3:	48 85 c0             	test   %rax,%rax
1409890f6:	74 0d                	je     0x140989105
1409890f8:	48 8b 53 30          	mov    0x30(%rbx),%rdx
1409890fc:	48 8b 0b             	mov    (%rbx),%rcx
1409890ff:	ff 15 1b a9 5f 00    	call   *0x5fa91b(%rip)        # 0x140f83a20
140989105:	48 83 c4 30          	add    $0x30,%rsp
140989109:	5b                   	pop    %rbx
14098910a:	c3                   	ret
14098910b:	cc                   	int3
14098910c:	cc                   	int3
14098910d:	cc                   	int3
14098910e:	cc                   	int3
14098910f:	cc                   	int3
140989110:	48 85 c9             	test   %rcx,%rcx
140989113:	74 69                	je     0x14098917e
140989115:	53                   	push   %rbx
140989116:	48 83 ec 20          	sub    $0x20,%rsp
14098911a:	48 8b 41 10          	mov    0x10(%rcx),%rax
14098911e:	48 8b d9             	mov    %rcx,%rbx
140989121:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140989126:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14098912b:	48 85 c0             	test   %rax,%rax
14098912e:	74 0a                	je     0x14098913a
140989130:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140989134:	ff 15 e6 a8 5f 00    	call   *0x5fa8e6(%rip)        # 0x140f83a20
14098913a:	48 8b 43 28          	mov    0x28(%rbx),%rax
14098913e:	33 f6                	xor    %esi,%esi
140989140:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
140989145:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140989149:	48 89 73 18          	mov    %rsi,0x18(%rbx)
14098914d:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140989151:	48 85 c0             	test   %rax,%rax
140989154:	74 0a                	je     0x140989160
140989156:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
14098915a:	ff 15 c0 a8 5f 00    	call   *0x5fa8c0(%rip)        # 0x140f83a20
140989160:	48 8b cb             	mov    %rbx,%rcx
140989163:	48 89 73 20          	mov    %rsi,0x20(%rbx)
140989167:	48 89 73 30          	mov    %rsi,0x30(%rbx)
14098916b:	48 89 73 28          	mov    %rsi,0x28(%rbx)
14098916f:	e8 1c 7f 4a 00       	call   0x140e31090
140989174:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
140989179:	48 83 c4 20          	add    $0x20,%rsp
14098917d:	5b                   	pop    %rbx
14098917e:	c3                   	ret
14098917f:	cc                   	int3
140989180:	40 53                	rex push %rbx
140989182:	48 83 ec 20          	sub    $0x20,%rsp
140989186:	48 8b d9             	mov    %rcx,%rbx
140989189:	b9 58 00 00 00       	mov    $0x58,%ecx
14098918e:	e8 99 95 4a 00       	call   0x140e3272c
140989193:	48 85 c0             	test   %rax,%rax
140989196:	75 17                	jne    0x1409891af
140989198:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
14098919c:	45 33 c0             	xor    %r8d,%r8d
14098919f:	8d 50 0e             	lea    0xe(%rax),%edx
1409891a2:	e8 e9 e7 ff ff       	call   0x140987990
1409891a7:	33 c0                	xor    %eax,%eax