140964d87:	45 8b c8             	mov    %r8d,%r9d
140964d8a:	4c 8b c0             	mov    %rax,%r8
140964d8d:	e8 0e 00 00 00       	call   0x140964da0
140964d92:	48 8b c3             	mov    %rbx,%rax
140964d95:	48 83 c4 30          	add    $0x30,%rsp
140964d99:	5b                   	pop    %rbx
140964d9a:	c3                   	ret
140964d9b:	cc                   	int3
140964d9c:	cc                   	int3
140964d9d:	cc                   	int3
140964d9e:	cc                   	int3
140964d9f:	cc                   	int3
140964da0:	40 53                	rex push %rbx
140964da2:	55                   	push   %rbp
140964da3:	56                   	push   %rsi
140964da4:	57                   	push   %rdi
140964da5:	41 54                	push   %r12
140964da7:	41 56                	push   %r14
140964da9:	41 57                	push   %r15
140964dab:	48 83 ec 70          	sub    $0x70,%rsp
140964daf:	48 8b 05 4a 41 a5 00 	mov    0xa5414a(%rip),%rax        # 0x1413b8f00
140964db6:	48 33 c4             	xor    %rsp,%rax
140964db9:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140964dbe:	45 8b f9             	mov    %r9d,%r15d
140964dc1:	49 8b f8             	mov    %r8,%rdi
140964dc4:	4c 8b f2             	mov    %rdx,%r14
140964dc7:	48 8b d9             	mov    %rcx,%rbx
140964dca:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140964dcf:	45 33 e4             	xor    %r12d,%r12d
140964dd2:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
140964dd9:	0f 86 d1 00 00 00    	jbe    0x140964eb0
140964ddf:	48 8b 8c 24 a8 00 00 	mov    0xa8(%rsp),%rcx
140964de6:	00
140964de7:	48 8d 05 72 e5 6f 00 	lea    0x6fe572(%rip),%rax        # 0x141063360
140964dee:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140964df3:	41 b9 a0 00 00 00    	mov    $0xa0,%r9d
140964df9:	4c 8d 05 c0 e4 6f 00 	lea    0x6fe4c0(%rip),%r8        # 0x1410632c0
140964e00:	ba b5 00 00 00       	mov    $0xb5,%edx
140964e05:	e8 26 01 00 00       	call   0x140964f30
140964e0a:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
140964e0f:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140964e14:	44 8b cf             	mov    %edi,%r9d
140964e17:	4d 8b c6             	mov    %r14,%r8
140964e1a:	33 d2                	xor    %edx,%edx
140964e1c:	41 8b cf             	mov    %r15d,%ecx
140964e1f:	ff 15 3b e5 61 00    	call   *0x61e53b(%rip)        # 0x140f83360
140964e25:	48 63 f0             	movslq %eax,%rsi
140964e28:	48 8b 8c 24 a8 00 00 	mov    0xa8(%rsp),%rcx
140964e2f:	00
140964e30:	85 c0                	test   %eax,%eax
140964e32:	0f 84 ae 00 00 00    	je     0x140964ee6
140964e38:	45 33 c0             	xor    %r8d,%r8d
140964e3b:	48 8b d6             	mov    %rsi,%rdx
140964e3e:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140964e43:	e8 58 d8 ff ff       	call   0x1409626a0
140964e48:	90                   	nop
140964e49:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140964e4e:	48 83 7c 24 58 07    	cmpq   $0x7,0x58(%rsp)
140964e54:	48 0f 47 44 24 40    	cmova  0x40(%rsp),%rax
140964e5a:	48 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%rbp
140964e61:	00
140964e62:	89 74 24 28          	mov    %esi,0x28(%rsp)
140964e66:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140964e6b:	44 8b cf             	mov    %edi,%r9d
140964e6e:	4d 8b c6             	mov    %r14,%r8
140964e71:	33 d2                	xor    %edx,%edx
140964e73:	41 8b cf             	mov    %r15d,%ecx
140964e76:	ff 15 e4 e4 61 00    	call   *0x61e4e4(%rip)        # 0x140f83360
140964e7c:	3b c6                	cmp    %esi,%eax
140964e7e:	75 51                	jne    0x140964ed1
140964e80:	0f 10 44 24 40       	movups 0x40(%rsp),%xmm0
140964e85:	0f 11 03             	movups %xmm0,(%rbx)
140964e88:	0f 10 4c 24 50       	movups 0x50(%rsp),%xmm1
140964e8d:	0f 11 4b 10          	movups %xmm1,0x10(%rbx)
140964e91:	48 8b c3             	mov    %rbx,%rax
140964e94:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140964e99:	48 33 cc             	xor    %rsp,%rcx
140964e9c:	e8 5f 66 4b 00       	call   0x140e1b500
140964ea1:	48 83 c4 70          	add    $0x70,%rsp
140964ea5:	41 5f                	pop    %r15
140964ea7:	41 5e                	pop    %r14
140964ea9:	41 5c                	pop    %r12
140964eab:	5f                   	pop    %rdi
140964eac:	5e                   	pop    %rsi
140964ead:	5d                   	pop    %rbp
140964eae:	5b                   	pop    %rbx
140964eaf:	c3                   	ret
140964eb0:	48 85 ff             	test   %rdi,%rdi
140964eb3:	0f 85 51 ff ff ff    	jne    0x140964e0a
140964eb9:	0f 57 c0             	xorps  %xmm0,%xmm0
140964ebc:	0f 11 01             	movups %xmm0,(%rcx)
140964ebf:	4c 89 61 10          	mov    %r12,0x10(%rcx)
140964ec3:	48 c7 41 18 07 00 00 	movq   $0x7,0x18(%rcx)
140964eca:	00
140964ecb:	66 44 89 21          	mov    %r12w,(%rcx)
140964ecf:	eb c0                	jmp    0x140964e91
140964ed1:	4c 8d 05 e8 e3 6f 00 	lea    0x6fe3e8(%rip),%r8        # 0x1410632c0
140964ed8:	ba cb 00 00 00       	mov    $0xcb,%edx
140964edd:	48 8b cd             	mov    %rbp,%rcx
140964ee0:	e8 ab 16 00 00       	call   0x140966590
140964ee5:	90                   	nop
140964ee6:	4c 8d 05 d3 e3 6f 00 	lea    0x6fe3d3(%rip),%r8        # 0x1410632c0
140964eed:	ba c2 00 00 00       	mov    $0xc2,%edx
140964ef2:	e8 99 16 00 00       	call   0x140966590
140964ef7:	cc                   	int3
140964ef8:	cc                   	int3
140964ef9:	cc                   	int3
140964efa:	cc                   	int3
140964efb:	cc                   	int3
140964efc:	cc                   	int3
140964efd:	cc                   	int3
140964efe:	cc                   	int3
140964eff:	cc                   	int3
140964f00:	40 53                	rex push %rbx
140964f02:	48 83 ec 30          	sub    $0x30,%rsp
140964f06:	45 8b c8             	mov    %r8d,%r9d
140964f09:	48 8b d9             	mov    %rcx,%rbx
140964f0c:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140964f10:	48 8b 12             	mov    (%rdx),%rdx
140964f13:	e8 88 fe ff ff       	call   0x140964da0
140964f18:	48 8b c3             	mov    %rbx,%rax
140964f1b:	48 83 c4 30          	add    $0x30,%rsp
140964f1f:	5b                   	pop    %rbx
140964f20:	c3                   	ret
140964f21:	cc                   	int3
140964f22:	cc                   	int3
140964f23:	cc                   	int3
140964f24:	cc                   	int3
140964f25:	cc                   	int3
140964f26:	cc                   	int3
140964f27:	cc                   	int3
140964f28:	cc                   	int3
140964f29:	cc                   	int3
140964f2a:	cc                   	int3
140964f2b:	cc                   	int3
140964f2c:	cc                   	int3
140964f2d:	cc                   	int3
140964f2e:	cc                   	int3
140964f2f:	cc                   	int3
140964f30:	48 83 ec 48          	sub    $0x48,%rsp
140964f34:	45 8b d1             	mov    %r9d,%r10d
140964f37:	45 85 c9             	test   %r9d,%r9d
140964f3a:	75 07                	jne    0x140964f43
140964f3c:	33 c0                	xor    %eax,%eax
140964f3e:	48 83 c4 48          	add    $0x48,%rsp
140964f42:	c3                   	ret
140964f43:	4c 8b 4c 24 48       	mov    0x48(%rsp),%r9
140964f48:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
140964f4d:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140964f52:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140964f57:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140964f5c:	44 89 54 24 20       	mov    %r10d,0x20(%rsp)
140964f61:	e8 4a 16 00 00       	call   0x1409665b0
140964f66:	cc                   	int3
140964f67:	cc                   	int3
140964f68:	cc                   	int3
140964f69:	cc                   	int3
140964f6a:	cc                   	int3
140964f6b:	cc                   	int3
140964f6c:	cc                   	int3
140964f6d:	cc                   	int3
140964f6e:	cc                   	int3
140964f6f:	cc                   	int3
140964f70:	40 53                	rex push %rbx
140964f72:	48 83 ec 30          	sub    $0x30,%rsp
140964f76:	45 33 c0             	xor    %r8d,%r8d
140964f79:	48 8b d9             	mov    %rcx,%rbx
140964f7c:	e8 0f 00 00 00       	call   0x140964f90
140964f81:	48 8b c3             	mov    %rbx,%rax
140964f84:	48 83 c4 30          	add    $0x30,%rsp
140964f88:	5b                   	pop    %rbx
140964f89:	c3                   	ret
140964f8a:	cc                   	int3
140964f8b:	cc                   	int3
140964f8c:	cc                   	int3
140964f8d:	cc                   	int3
140964f8e:	cc                   	int3
140964f8f:	cc                   	int3
140964f90:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140964f95:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140964f9a:	56                   	push   %rsi
140964f9b:	57                   	push   %rdi
140964f9c:	41 56                	push   %r14
140964f9e:	48 83 ec 40          	sub    $0x40,%rsp
140964fa2:	41 0f b6 e8          	movzbl %r8b,%ebp
140964fa6:	4c 8b f2             	mov    %rdx,%r14
140964fa9:	48 8b d9             	mov    %rcx,%rbx
140964fac:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140964fb1:	33 c0                	xor    %eax,%eax
140964fb3:	89 44 24 20          	mov    %eax,0x20(%rsp)
140964fb7:	0f 57 c0             	xorps  %xmm0,%xmm0
140964fba:	0f 11 01             	movups %xmm0,(%rcx)
140964fbd:	48 89 41 10          	mov    %rax,0x10(%rcx)
140964fc1:	48 89 41 18          	mov    %rax,0x18(%rcx)
140964fc5:	48 8b 72 10          	mov    0x10(%rdx),%rsi
140964fc9:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
140964fce:	76 03                	jbe    0x140964fd3
140964fd0:	4c 8b 32             	mov    (%rdx),%r14
140964fd3:	48 bf fe ff ff ff ff 	movabs $0x7ffffffffffffffe,%rdi
140964fda:	ff ff 7f
140964fdd:	48 3b f7             	cmp    %rdi,%rsi
140964fe0:	0f 87 5a 01 00 00    	ja     0x140965140
140964fe6:	48 83 fe 07          	cmp    $0x7,%rsi
140964fea:	77 15                	ja     0x140965001
140964fec:	48 89 71 10          	mov    %rsi,0x10(%rcx)
140964ff0:	48 c7 41 18 07 00 00 	movq   $0x7,0x18(%rcx)
140964ff7:	00
140964ff8:	41 0f 10 06          	movups (%r14),%xmm0
140964ffc:	0f 11 01             	movups %xmm0,(%rcx)
140964fff:	eb 3f                	jmp    0x140965040
140965001:	48 8b c6             	mov    %rsi,%rax
140965004:	48 83 c8 07          	or     $0x7,%rax
140965008:	48 3b c7             	cmp    %rdi,%rax
14096500b:	76 7c                	jbe    0x140965089
14096500d:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
140965014:	ff ff 7f
140965017:	0f ae e8             	lfence
14096501a:	48 03 c9             	add    %rcx,%rcx
14096501d:	e8 0e 1d 83 ff       	call   0x140196d30
140965022:	48 89 03             	mov    %rax,(%rbx)
140965025:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140965029:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
14096502d:	4c 8d 04 75 02 00 00 	lea    0x2(,%rsi,2),%r8
140965034:	00
140965035:	49 8b d6             	mov    %r14,%rdx
140965038:	48 8b c8             	mov    %rax,%rcx
14096503b:	e8 d0 9f 57 00       	call   0x140edf010
140965040:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
140965047:	00
140965048:	0f 57 c0             	xorps  %xmm0,%xmm0
14096504b:	0f 11 44 24 28       	movups %xmm0,0x28(%rsp)
140965050:	b1 01                	mov    $0x1,%cl
140965052:	e8 15 72 49 00       	call   0x140dfc26c
140965057:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14096505c:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140965061:	e8 4a d1 ff ff       	call   0x1409621b0
140965066:	4c 8b c8             	mov    %rax,%r9
140965069:	40 84 ed             	test   %bpl,%bpl
14096506c:	74 5a                	je     0x1409650c8
14096506e:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140965073:	76 3f                	jbe    0x1409650b4
140965075:	48 8b 13             	mov    (%rbx),%rdx
140965078:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14096507c:	4c 8d 04 4a          	lea    (%rdx,%rcx,2),%r8
140965080:	48 8b 00             	mov    (%rax),%rax
140965083:	48 8b 40 48          	mov    0x48(%rax),%rax
140965087:	eb 64                	jmp    0x1409650ed
140965089:	48 8b f8             	mov    %rax,%rdi
14096508c:	b9 0a 00 00 00       	mov    $0xa,%ecx
140965091:	48 3b c1             	cmp    %rcx,%rax
140965094:	48 0f 42 f9          	cmovb  %rcx,%rdi
140965098:	48 8d 4f 01          	lea    0x1(%rdi),%rcx
14096509c:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
1409650a3:	ff ff 7f
1409650a6:	48 3b c8             	cmp    %rax,%rcx
1409650a9:	0f 87 97 00 00 00    	ja     0x140965146
1409650af:	e9 63 ff ff ff       	jmp    0x140965017
1409650b4:	48 8b 43 10          	mov    0x10(%rbx),%rax
1409650b8:	4c 8d 04 43          	lea    (%rbx,%rax,2),%r8
1409650bc:	48 8b d3             	mov    %rbx,%rdx
1409650bf:	49 8b 01             	mov    (%r9),%rax
1409650c2:	48 8b 40 48          	mov    0x48(%rax),%rax
1409650c6:	eb 25                	jmp    0x1409650ed
1409650c8:	48 8b 43 10          	mov    0x10(%rbx),%rax
1409650cc:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
1409650d1:	76 0c                	jbe    0x1409650df
1409650d3:	48 8b 0b             	mov    (%rbx),%rcx
1409650d6:	4c 8d 04 41          	lea    (%rcx,%rax,2),%r8
1409650da:	48 8b d1             	mov    %rcx,%rdx
1409650dd:	eb 07                	jmp    0x1409650e6
1409650df:	4c 8d 04 43          	lea    (%rbx,%rax,2),%r8
1409650e3:	48 8b d3             	mov    %rbx,%rdx
1409650e6:	49 8b 01             	mov    (%r9),%rax
1409650e9:	48 8b 40 38          	mov    0x38(%rax),%rax
1409650ed:	49 8b c9             	mov    %r9,%rcx
1409650f0:	ff 15 2a e9 61 00    	call   *0x61e92a(%rip)        # 0x140f83a20
1409650f6:	90                   	nop
1409650f7:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1409650fc:	48 85 c9             	test   %rcx,%rcx
1409650ff:	74 29                	je     0x14096512a
140965101:	48 8b 01             	mov    (%rcx),%rax
140965104:	48 8b 40 10          	mov    0x10(%rax),%rax
140965108:	ff 15 12 e9 61 00    	call   *0x61e912(%rip)        # 0x140f83a20
14096510e:	4c 8b c0             	mov    %rax,%r8
140965111:	48 85 c0             	test   %rax,%rax
140965114:	74 14                	je     0x14096512a
140965116:	48 8b 08             	mov    (%rax),%rcx
140965119:	48 8b 01             	mov    (%rcx),%rax
14096511c:	ba 01 00 00 00       	mov    $0x1,%edx
140965121:	49 8b c8             	mov    %r8,%rcx
140965124:	ff 15 f6 e8 61 00    	call   *0x61e8f6(%rip)        # 0x140f83a20
14096512a:	48 8b c3             	mov    %rbx,%rax
14096512d:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140965132:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140965137:	48 83 c4 40          	add    $0x40,%rsp
14096513b:	41 5e                	pop    %r14
14096513d:	5f                   	pop    %rdi
14096513e:	5e                   	pop    %rsi
14096513f:	c3                   	ret
140965140:	e8 2b 84 83 ff       	call   0x14019d570
140965145:	cc                   	int3
140965146:	e8 45 80 83 ff       	call   0x14019d190
14096514b:	cc                   	int3
14096514c:	cc                   	int3
14096514d:	cc                   	int3
14096514e:	cc                   	int3
14096514f:	cc                   	int3
140965150:	f2 0f 59 05 80 15 68 	mulsd  0x681580(%rip),%xmm0        # 0x140fe66d8
140965157:	00
140965158:	33 c9                	xor    %ecx,%ecx
14096515a:	f2 0f 10 0d f6 96 64 	movsd  0x6496f6(%rip),%xmm1        # 0x140fae858
140965161:	00
140965162:	f2 0f 59 05 0e 54 68 	mulsd  0x68540e(%rip),%xmm0        # 0x140fea578
140965169:	00
14096516a:	66 0f 2f c1          	comisd %xmm1,%xmm0
14096516e:	72 17                	jb     0x140965187
140965170:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140965174:	66 0f 2f c1          	comisd %xmm1,%xmm0
140965178:	73 0d                	jae    0x140965187
14096517a:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140965181:	00 00 80
140965184:	48 8b c8             	mov    %rax,%rcx
140965187:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
14096518c:	48 03 c1             	add    %rcx,%rax
14096518f:	48 b9 00 80 3e d5 de 	movabs $0x19db1ded53e8000,%rcx
140965196:	b1 9d 01
140965199:	48 03 c1             	add    %rcx,%rax
14096519c:	c3                   	ret
14096519d:	cc                   	int3
14096519e:	cc                   	int3
14096519f:	cc                   	int3
1409651a0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1409651a5:	55                   	push   %rbp
1409651a6:	56                   	push   %rsi
1409651a7:	57                   	push   %rdi
1409651a8:	41 56                	push   %r14
1409651aa:	41 57                	push   %r15
1409651ac:	48 8d ac 24 70 ff ff 	lea    -0x90(%rsp),%rbp
1409651b3:	ff
1409651b4:	48 81 ec 90 01 00 00 	sub    $0x190,%rsp
1409651bb:	48 8b 05 3e 3d a5 00 	mov    0xa53d3e(%rip),%rax        # 0x1413b8f00
1409651c2:	48 33 c4             	xor    %rsp,%rax
1409651c5:	48 89 85 80 00 00 00 	mov    %rax,0x80(%rbp)
1409651cc:	45 0f b6 f8          	movzbl %r8b,%r15d
1409651d0:	48 8b fa             	mov    %rdx,%rdi
1409651d3:	4c 8b f1             	mov    %rcx,%r14
1409651d6:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
1409651db:	45 33 c9             	xor    %r9d,%r9d
1409651de:	0f 57 c9             	xorps  %xmm1,%xmm1
1409651e1:	f3 0f 7f 4c 24 60    	movdqu %xmm1,0x60(%rsp)