1407689f0:	48 0f af f1          	imul   %rcx,%rsi
1407689f4:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
1407689f9:	48 33 f0             	xor    %rax,%rsi
1407689fc:	48 0f af f1          	imul   %rcx,%rsi
140768a00:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140768a05:	48 33 f0             	xor    %rax,%rsi
140768a08:	48 0f af f1          	imul   %rcx,%rsi
140768a0c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140768a11:	48 33 f0             	xor    %rax,%rsi
140768a14:	48 0f af f1          	imul   %rcx,%rsi
140768a18:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140768a1d:	48 33 f0             	xor    %rax,%rsi
140768a20:	48 0f af f1          	imul   %rcx,%rsi
140768a24:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140768a29:	48 33 f0             	xor    %rax,%rsi
140768a2c:	48 0f af f1          	imul   %rcx,%rsi
140768a30:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140768a35:	48 33 f0             	xor    %rax,%rsi
140768a38:	48 0f af f1          	imul   %rcx,%rsi
140768a3c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140768a41:	48 33 f0             	xor    %rax,%rsi
140768a44:	48 0f af f1          	imul   %rcx,%rsi
140768a48:	48 8b ce             	mov    %rsi,%rcx
140768a4b:	49 23 4e 30          	and    0x30(%r14),%rcx
140768a4f:	48 03 c9             	add    %rcx,%rcx
140768a52:	49 8b 46 18          	mov    0x18(%r14),%rax
140768a56:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140768a5b:	49 8d 56 08          	lea    0x8(%r14),%rdx
140768a5f:	4c 8b 2a             	mov    (%rdx),%r13
140768a62:	49 3b dd             	cmp    %r13,%rbx
140768a65:	75 08                	jne    0x140768a6f
140768a67:	49 8b dd             	mov    %r13,%rbx
140768a6a:	4d 8b e5             	mov    %r13,%r12
140768a6d:	eb 4e                	jmp    0x140768abd
140768a6f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140768a73:	49 8b 00             	mov    (%r8),%rax
140768a76:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140768a7a:	74 13                	je     0x140768a8f
140768a7c:	0f 1f 40 00          	nopl   0x0(%rax)
140768a80:	48 3b d9             	cmp    %rcx,%rbx
140768a83:	74 32                	je     0x140768ab7
140768a85:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140768a89:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140768a8d:	75 f1                	jne    0x140768a80
140768a8f:	49 89 1f             	mov    %rbx,(%r15)
140768a92:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
140768a97:	49 8b c7             	mov    %r15,%rax
140768a9a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140768a9f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140768aa4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140768aa9:	48 83 c4 30          	add    $0x30,%rsp
140768aad:	41 5f                	pop    %r15
140768aaf:	41 5e                	pop    %r14
140768ab1:	41 5d                	pop    %r13
140768ab3:	41 5c                	pop    %r12
140768ab5:	5f                   	pop    %rdi
140768ab6:	c3                   	ret
140768ab7:	4c 8b eb             	mov    %rbx,%r13
140768aba:	4c 8b e3             	mov    %rbx,%r12
140768abd:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140768ac4:	ff ff 07
140768ac7:	49 39 46 10          	cmp    %rax,0x10(%r14)
140768acb:	0f 84 c6 01 00 00    	je     0x140768c97
140768ad1:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140768ad6:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140768add:	00 00
140768adf:	b9 20 00 00 00       	mov    $0x20,%ecx
140768ae4:	e8 1f 26 6b 00       	call   0x140e1b108
140768ae9:	48 8b f8             	mov    %rax,%rdi
140768aec:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140768af1:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140768af5:	48 89 48 10          	mov    %rcx,0x10(%rax)
140768af9:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
140768b00:	00
140768b01:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140768b05:	48 83 c1 01          	add    $0x1,%rcx
140768b09:	0f 57 c0             	xorps  %xmm0,%xmm0
140768b0c:	78 07                	js     0x140768b15
140768b0e:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140768b13:	eb 15                	jmp    0x140768b2a
140768b15:	48 8b c1             	mov    %rcx,%rax
140768b18:	48 d1 e8             	shr    $1,%rax
140768b1b:	83 e1 01             	and    $0x1,%ecx
140768b1e:	48 0b c1             	or     %rcx,%rax
140768b21:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140768b26:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140768b2a:	49 8b 6e 38          	mov    0x38(%r14),%rbp
140768b2e:	f3 41 0f 10 1e       	movss  (%r14),%xmm3
140768b33:	0f 57 d2             	xorps  %xmm2,%xmm2
140768b36:	48 85 ed             	test   %rbp,%rbp
140768b39:	78 07                	js     0x140768b42
140768b3b:	f3 48 0f 2a d5       	cvtsi2ss %rbp,%xmm2
140768b40:	eb 18                	jmp    0x140768b5a
140768b42:	48 8b cd             	mov    %rbp,%rcx
140768b45:	48 d1 e9             	shr    $1,%rcx
140768b48:	48 8b c5             	mov    %rbp,%rax
140768b4b:	83 e0 01             	and    $0x1,%eax
140768b4e:	48 0b c8             	or     %rax,%rcx
140768b51:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140768b56:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140768b5a:	0f 28 c8             	movaps %xmm0,%xmm1
140768b5d:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140768b61:	0f 2f cb             	comiss %xmm3,%xmm1
140768b64:	0f 86 c8 00 00 00    	jbe    0x140768c32
140768b6a:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140768b6e:	e8 ad 85 6c 00       	call   0x140e31120
140768b73:	33 c9                	xor    %ecx,%ecx
140768b75:	f3 0f 10 0d e7 5a 84 	movss  0x845ae7(%rip),%xmm1        # 0x140fae664
140768b7c:	00
140768b7d:	0f 2f c1             	comiss %xmm1,%xmm0
140768b80:	72 16                	jb     0x140768b98
140768b82:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140768b86:	0f 2f c1             	comiss %xmm1,%xmm0
140768b89:	73 0d                	jae    0x140768b98
140768b8b:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140768b92:	00 00 80
140768b95:	48 8b c8             	mov    %rax,%rcx
140768b98:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140768b9d:	48 03 c1             	add    %rcx,%rax
140768ba0:	b9 08 00 00 00       	mov    $0x8,%ecx
140768ba5:	48 3b c1             	cmp    %rcx,%rax
140768ba8:	48 0f 47 c8          	cmova  %rax,%rcx
140768bac:	48 3b e9             	cmp    %rcx,%rbp
140768baf:	73 19                	jae    0x140768bca
140768bb1:	48 81 fd 00 02 00 00 	cmp    $0x200,%rbp
140768bb8:	73 0d                	jae    0x140768bc7
140768bba:	48 8d 2c ed 00 00 00 	lea    0x0(,%rbp,8),%rbp
140768bc1:	00
140768bc2:	48 3b e9             	cmp    %rcx,%rbp
140768bc5:	73 03                	jae    0x140768bca
140768bc7:	48 8b e9             	mov    %rcx,%rbp
140768bca:	48 8b d5             	mov    %rbp,%rdx
140768bcd:	49 8b ce             	mov    %r14,%rcx
140768bd0:	e8 0b 87 df ff       	call   0x1405612e0
140768bd5:	48 8b ce             	mov    %rsi,%rcx
140768bd8:	49 23 4e 30          	and    0x30(%r14),%rcx
140768bdc:	48 03 c9             	add    %rcx,%rcx
140768bdf:	49 8b 56 18          	mov    0x18(%r14),%rdx
140768be3:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140768be8:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140768bec:	48 3b c3             	cmp    %rbx,%rax
140768bef:	75 0b                	jne    0x140768bfc
140768bf1:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140768bf8:	00 00
140768bfa:	eb 29                	jmp    0x140768c25
140768bfc:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140768c00:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140768c04:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140768c08:	74 18                	je     0x140768c22
140768c0a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140768c10:	48 8b d8             	mov    %rax,%rbx
140768c13:	48 3b c2             	cmp    %rdx,%rax
140768c16:	74 4b                	je     0x140768c63
140768c18:	48 8b 40 08          	mov    0x8(%rax),%rax
140768c1c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140768c20:	75 ee                	jne    0x140768c10
140768c22:	48 8b 18             	mov    (%rax),%rbx
140768c25:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140768c2a:	4c 8b e3             	mov    %rbx,%r12
140768c2d:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140768c32:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140768c36:	49 ff 46 10          	incq   0x10(%r14)
140768c3a:	4c 89 2f             	mov    %r13,(%rdi)
140768c3d:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140768c41:	48 89 39             	mov    %rdi,(%rcx)
140768c44:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140768c48:	49 8b 46 18          	mov    0x18(%r14),%rax
140768c4c:	49 23 76 30          	and    0x30(%r14),%rsi
140768c50:	48 03 f6             	add    %rsi,%rsi
140768c53:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
140768c57:	49 3b 56 08          	cmp    0x8(%r14),%rdx
140768c5b:	75 16                	jne    0x140768c73
140768c5d:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
140768c61:	eb 22                	jmp    0x140768c85
140768c63:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140768c68:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140768c6f:	00 00
140768c71:	eb b7                	jmp    0x140768c2a
140768c73:	49 3b d4             	cmp    %r12,%rdx
140768c76:	75 06                	jne    0x140768c7e
140768c78:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
140768c7c:	eb 0c                	jmp    0x140768c8a
140768c7e:	48 39 4c f0 08       	cmp    %rcx,0x8(%rax,%rsi,8)
140768c83:	75 05                	jne    0x140768c8a
140768c85:	48 89 7c f0 08       	mov    %rdi,0x8(%rax,%rsi,8)
140768c8a:	49 89 3f             	mov    %rdi,(%r15)
140768c8d:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140768c92:	e9 00 fe ff ff       	jmp    0x140768a97
140768c97:	48 8d 0d 02 58 84 00 	lea    0x845802(%rip),%rcx        # 0x140fae4a0
140768c9e:	e8 11 27 69 00       	call   0x140dfb3b4
140768ca3:	cc                   	int3
140768ca4:	cc                   	int3
140768ca5:	cc                   	int3
140768ca6:	cc                   	int3
140768ca7:	cc                   	int3
140768ca8:	cc                   	int3
140768ca9:	cc                   	int3
140768caa:	cc                   	int3
140768cab:	cc                   	int3
140768cac:	cc                   	int3
140768cad:	cc                   	int3
140768cae:	cc                   	int3
140768caf:	cc                   	int3
140768cb0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140768cb5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140768cba:	55                   	push   %rbp
140768cbb:	56                   	push   %rsi
140768cbc:	57                   	push   %rdi
140768cbd:	48 83 ec 40          	sub    $0x40,%rsp
140768cc1:	49 8b f0             	mov    %r8,%rsi
140768cc4:	48 8b fa             	mov    %rdx,%rdi
140768cc7:	48 8b d9             	mov    %rcx,%rbx
140768cca:	48 83 c2 48          	add    $0x48,%rdx
140768cce:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140768cd3:	76 03                	jbe    0x140768cd8
140768cd5:	48 8b 12             	mov    (%rdx),%rdx
140768cd8:	0f 57 c0             	xorps  %xmm0,%xmm0
140768cdb:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
140768ce0:	33 ed                	xor    %ebp,%ebp
140768ce2:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140768ce7:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140768cec:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
140768cf3:	49 ff c0             	inc    %r8
140768cf6:	42 38 2c 02          	cmp    %bpl,(%rdx,%r8,1)
140768cfa:	75 f7                	jne    0x140768cf3
140768cfc:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140768d01:	e8 fa e0 a2 ff       	call   0x140196e00
140768d06:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140768d0b:	48 8b cb             	mov    %rbx,%rcx
140768d0e:	e8 5d 04 00 00       	call   0x140769170
140768d13:	90                   	nop
140768d14:	48 8d 05 4d e0 8b 00 	lea    0x8be04d(%rip),%rax        # 0x141026d68
140768d1b:	48 89 03             	mov    %rax,(%rbx)
140768d1e:	48 89 6b 40          	mov    %rbp,0x40(%rbx)
140768d22:	48 89 6b 50          	mov    %rbp,0x50(%rbx)
140768d26:	48 89 6b 58          	mov    %rbp,0x58(%rbx)
140768d2a:	48 89 6b 60          	mov    %rbp,0x60(%rbx)
140768d2e:	48 8d 05 23 e0 8b 00 	lea    0x8be023(%rip),%rax        # 0x141026d58
140768d35:	48 89 43 68          	mov    %rax,0x68(%rbx)
140768d39:	0f 57 c0             	xorps  %xmm0,%xmm0
140768d3c:	0f 11 43 70          	movups %xmm0,0x70(%rbx)
140768d40:	48 89 ab 80 00 00 00 	mov    %rbp,0x80(%rbx)
140768d47:	48 c7 83 88 00 00 00 	movq   $0xf,0x88(%rbx)
140768d4e:	0f 00 00 00
140768d52:	c6 43 70 00          	movb   $0x0,0x70(%rbx)
140768d56:	48 89 ab 90 00 00 00 	mov    %rbp,0x90(%rbx)
140768d5d:	48 89 ab 98 00 00 00 	mov    %rbp,0x98(%rbx)
140768d64:	48 89 ab a0 00 00 00 	mov    %rbp,0xa0(%rbx)
140768d6b:	48 89 83 a8 00 00 00 	mov    %rax,0xa8(%rbx)
140768d72:	0f 11 83 b0 00 00 00 	movups %xmm0,0xb0(%rbx)
140768d79:	48 89 ab c0 00 00 00 	mov    %rbp,0xc0(%rbx)
140768d80:	48 c7 83 c8 00 00 00 	movq   $0xf,0xc8(%rbx)
140768d87:	0f 00 00 00
140768d8b:	c6 83 b0 00 00 00 00 	movb   $0x0,0xb0(%rbx)
140768d92:	48 89 ab d0 00 00 00 	mov    %rbp,0xd0(%rbx)
140768d99:	48 89 ab d8 00 00 00 	mov    %rbp,0xd8(%rbx)
140768da0:	48 89 ab e0 00 00 00 	mov    %rbp,0xe0(%rbx)
140768da7:	48 89 83 e8 00 00 00 	mov    %rax,0xe8(%rbx)
140768dae:	0f 11 83 f0 00 00 00 	movups %xmm0,0xf0(%rbx)
140768db5:	48 89 ab 00 01 00 00 	mov    %rbp,0x100(%rbx)
140768dbc:	48 c7 83 08 01 00 00 	movq   $0xf,0x108(%rbx)
140768dc3:	0f 00 00 00
140768dc7:	c6 83 f0 00 00 00 00 	movb   $0x0,0xf0(%rbx)
140768dce:	48 89 ab 10 01 00 00 	mov    %rbp,0x110(%rbx)
140768dd5:	48 89 ab 18 01 00 00 	mov    %rbp,0x118(%rbx)
140768ddc:	48 89 ab 20 01 00 00 	mov    %rbp,0x120(%rbx)
140768de3:	48 85 ff             	test   %rdi,%rdi
140768de6:	74 1c                	je     0x140768e04
140768de8:	8b 47 10             	mov    0x10(%rdi),%eax
140768deb:	ff c0                	inc    %eax
140768ded:	89 47 10             	mov    %eax,0x10(%rdi)
140768df0:	83 f8 01             	cmp    $0x1,%eax
140768df3:	0f 8e 8b 00 00 00    	jle    0x140768e84
140768df9:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140768dfe:	0f 84 88 00 00 00    	je     0x140768e8c
140768e04:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140768e08:	48 89 7b 40          	mov    %rdi,0x40(%rbx)
140768e0c:	48 85 c9             	test   %rcx,%rcx
140768e0f:	74 20                	je     0x140768e31
140768e11:	8b 41 10             	mov    0x10(%rcx),%eax
140768e14:	ff c8                	dec    %eax
140768e16:	89 41 10             	mov    %eax,0x10(%rcx)
140768e19:	85 c0                	test   %eax,%eax
140768e1b:	7f 14                	jg     0x140768e31
140768e1d:	78 5a                	js     0x140768e79
140768e1f:	48 8b 01             	mov    (%rcx),%rax
140768e22:	ba 01 00 00 00       	mov    $0x1,%edx
140768e27:	48 8b 00             	mov    (%rax),%rax
140768e2a:	ff 15 f0 ab 81 00    	call   *0x81abf0(%rip)        # 0x140f83a20
140768e30:	90                   	nop
140768e31:	48 8b 0e             	mov    (%rsi),%rcx
140768e34:	48 85 c9             	test   %rcx,%rcx
140768e37:	0f 94 c0             	sete   %al
140768e3a:	88 43 48             	mov    %al,0x48(%rbx)
140768e3d:	48 85 c9             	test   %rcx,%rcx
140768e40:	75 06                	jne    0x140768e48
140768e42:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140768e46:	eb 03                	jmp    0x140768e4b
140768e48:	48 8b 0e             	mov    (%rsi),%rcx
140768e4b:	48 8b 01             	mov    (%rcx),%rax
140768e4e:	48 8b 40 10          	mov    0x10(%rax),%rax
140768e52:	ff 15 c8 ab 81 00    	call   *0x81abc8(%rip)        # 0x140f83a20
140768e58:	0f 10 00             	movups (%rax),%xmm0
140768e5b:	0f 11 43 50          	movups %xmm0,0x50(%rbx)
140768e5f:	f2 0f 10 48 10       	movsd  0x10(%rax),%xmm1
140768e64:	f2 0f 11 4b 60       	movsd  %xmm1,0x60(%rbx)
140768e69:	48 8b c3             	mov    %rbx,%rax
140768e6c:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140768e71:	48 83 c4 40          	add    $0x40,%rsp
140768e75:	5f                   	pop    %rdi
140768e76:	5e                   	pop    %rsi
140768e77:	5d                   	pop    %rbp
140768e78:	c3                   	ret
140768e79:	b9 02 00 00 00       	mov    $0x2,%ecx
140768e7e:	e8 7d 18 02 00       	call   0x14078a700
140768e83:	90                   	nop
140768e84:	33 c9                	xor    %ecx,%ecx
140768e86:	e8 75 18 02 00       	call   0x14078a700
140768e8b:	cc                   	int3
140768e8c:	b9 01 00 00 00       	mov    $0x1,%ecx
140768e91:	e8 6a 18 02 00       	call   0x14078a700
140768e96:	cc                   	int3
140768e97:	cc                   	int3
140768e98:	cc                   	int3
140768e99:	cc                   	int3
140768e9a:	cc                   	int3
140768e9b:	cc                   	int3
140768e9c:	cc                   	int3
140768e9d:	cc                   	int3
140768e9e:	cc                   	int3
140768e9f:	cc                   	int3
140768ea0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140768ea5:	57                   	push   %rdi
140768ea6:	48 83 ec 40          	sub    $0x40,%rsp
140768eaa:	48 8b d9             	mov    %rcx,%rbx
140768ead:	33 ff                	xor    %edi,%edi
140768eaf:	89 7c 24 2c          	mov    %edi,0x2c(%rsp)
140768eb3:	48 c7 44 24 30 0b 00 	movq   $0xb,0x30(%rsp)
140768eba:	00 00
140768ebc:	48 c7 44 24 38 0f 00 	movq   $0xf,0x38(%rsp)
140768ec3:	00 00
140768ec5:	f2 0f 10 05 a3 de 8b 	movsd  0x8bdea3(%rip),%xmm0        # 0x141026d70
140768ecc:	00
140768ecd:	f2 0f 11 44 24 20    	movsd  %xmm0,0x20(%rsp)
140768ed3:	0f b7 05 9e de 8b 00 	movzwl 0x8bde9e(%rip),%eax        # 0x141026d78
140768eda:	66 89 44 24 28       	mov    %ax,0x28(%rsp)
140768edf:	0f b6 05 94 de 8b 00 	movzbl 0x8bde94(%rip),%eax        # 0x141026d7a
140768ee6:	88 44 24 2a          	mov    %al,0x2a(%rsp)
140768eea:	40 88 7c 24 2b       	mov    %dil,0x2b(%rsp)
140768eef:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx