140197df8:	41 03 d2             	add    %r10d,%edx
140197dfb:	49 ff c0             	inc    %r8
140197dfe:	49 0f af d6          	imul   %r14,%rdx
140197e02:	48 89 51 f0          	mov    %rdx,-0x10(%rcx)
140197e06:	48 89 51 f8          	mov    %rdx,-0x8(%rcx)
140197e0a:	4d 3b c1             	cmp    %r9,%r8
140197e0d:	75 e1                	jne    0x140197df0
140197e0f:	4c 8b b4 24 08 01 00 	mov    0x108(%rsp),%r14
140197e16:	00
140197e17:	44 8b 94 24 18 01 00 	mov    0x118(%rsp),%r10d
140197e1e:	00
140197e1f:	e9 39 fe ff ff       	jmp    0x140197c5d
140197e24:	4d 3b c1             	cmp    %r9,%r8
140197e27:	0f 84 30 fe ff ff    	je     0x140197c5d
140197e2d:	41 8d 97 00 01 00 00 	lea    0x100(%r15),%edx
140197e34:	c1 e2 10             	shl    $0x10,%edx
140197e37:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140197e3e:	00 00
140197e40:	41 0f b6 00          	movzbl (%r8),%eax
140197e44:	48 8d 49 08          	lea    0x8(%rcx),%rcx
140197e48:	03 c2                	add    %edx,%eax
140197e4a:	49 ff c0             	inc    %r8
140197e4d:	89 41 f8             	mov    %eax,-0x8(%rcx)
140197e50:	89 41 fc             	mov    %eax,-0x4(%rcx)
140197e53:	4d 3b c1             	cmp    %r9,%r8
140197e56:	75 e8                	jne    0x140197e40
140197e58:	e9 00 fe ff ff       	jmp    0x140197c5d
140197e5d:	4d 3b c1             	cmp    %r9,%r8
140197e60:	0f 84 f7 fd ff ff    	je     0x140197c5d
140197e66:	41 8d 97 00 01 00 00 	lea    0x100(%r15),%edx
140197e6d:	c1 e2 10             	shl    $0x10,%edx
140197e70:	41 0f b6 00          	movzbl (%r8),%eax
140197e74:	48 8d 49 04          	lea    0x4(%rcx),%rcx
140197e78:	03 c2                	add    %edx,%eax
140197e7a:	49 ff c0             	inc    %r8
140197e7d:	89 41 fc             	mov    %eax,-0x4(%rcx)
140197e80:	4d 3b c1             	cmp    %r9,%r8
140197e83:	75 eb                	jne    0x140197e70
140197e85:	e9 d3 fd ff ff       	jmp    0x140197c5d
140197e8a:	cc                   	int3
140197e8b:	cc                   	int3
140197e8c:	cc                   	int3
140197e8d:	cc                   	int3
140197e8e:	cc                   	int3
140197e8f:	cc                   	int3
140197e90:	48 83 ec 08          	sub    $0x8,%rsp
140197e94:	4c 8b d1             	mov    %rcx,%r10
140197e97:	41 bb 01 00 00 00    	mov    $0x1,%r11d
140197e9d:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140197ea1:	41 2b c9             	sub    %r9d,%ecx
140197ea4:	83 e1 1f             	and    $0x1f,%ecx
140197ea7:	41 d3 e3             	shl    %cl,%r11d
140197eaa:	41 8b c3             	mov    %r11d,%eax
140197ead:	83 e8 01             	sub    $0x1,%eax
140197eb0:	0f 84 6e 02 00 00    	je     0x140198124
140197eb6:	83 e8 01             	sub    $0x1,%eax
140197eb9:	0f 84 e9 01 00 00    	je     0x1401980a8
140197ebf:	83 e8 02             	sub    $0x2,%eax
140197ec2:	0f 84 4d 01 00 00    	je     0x140198015
140197ec8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140197ecd:	83 f8 04             	cmp    $0x4,%eax
140197ed0:	0f 84 8d 00 00 00    	je     0x140197f63
140197ed6:	49 3b d0             	cmp    %r8,%rdx
140197ed9:	74 7e                	je     0x140197f59
140197edb:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140197ee0:	4a 8d 34 9d 00 00 00 	lea    0x0(,%r11,4),%rsi
140197ee7:	00
140197ee8:	44 0f b7 5c 24 38    	movzwl 0x38(%rsp),%r11d
140197eee:	48 89 3c 24          	mov    %rdi,(%rsp)
140197ef2:	8b 7c 24 40          	mov    0x40(%rsp),%edi
140197ef6:	8b df                	mov    %edi,%ebx
140197ef8:	c1 e3 08             	shl    $0x8,%ebx
140197efb:	41 03 d9             	add    %r9d,%ebx
140197efe:	49 b9 01 00 00 00 01 	movabs $0x100000001,%r9
140197f05:	00 00 00
140197f08:	c1 e3 10             	shl    $0x10,%ebx
140197f0b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140197f10:	0f b6 0a             	movzbl (%rdx),%ecx
140197f13:	83 ff 01             	cmp    $0x1,%edi
140197f16:	74 06                	je     0x140197f1e
140197f18:	c1 e1 08             	shl    $0x8,%ecx
140197f1b:	41 03 cb             	add    %r11d,%ecx
140197f1e:	03 cb                	add    %ebx,%ecx
140197f20:	4a 8d 04 16          	lea    (%rsi,%r10,1),%rax
140197f24:	49 0f af c9          	imul   %r9,%rcx
140197f28:	4c 3b d0             	cmp    %rax,%r10
140197f2b:	74 1b                	je     0x140197f48
140197f2d:	0f 1f 00             	nopl   (%rax)
140197f30:	49 89 0a             	mov    %rcx,(%r10)
140197f33:	49 89 4a 08          	mov    %rcx,0x8(%r10)
140197f37:	49 89 4a 10          	mov    %rcx,0x10(%r10)
140197f3b:	49 89 4a 18          	mov    %rcx,0x18(%r10)
140197f3f:	49 83 c2 20          	add    $0x20,%r10
140197f43:	4c 3b d0             	cmp    %rax,%r10
140197f46:	75 e8                	jne    0x140197f30
140197f48:	48 ff c2             	inc    %rdx
140197f4b:	49 3b d0             	cmp    %r8,%rdx
140197f4e:	75 c0                	jne    0x140197f10
140197f50:	48 8b 3c 24          	mov    (%rsp),%rdi
140197f54:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140197f59:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140197f5e:	48 83 c4 08          	add    $0x8,%rsp
140197f62:	c3                   	ret
140197f63:	49 3b d0             	cmp    %r8,%rdx
140197f66:	74 f1                	je     0x140197f59
140197f68:	44 8b 5c 24 40       	mov    0x40(%rsp),%r11d
140197f6d:	49 83 c2 10          	add    $0x10,%r10
140197f71:	41 83 fb 01          	cmp    $0x1,%r11d
140197f75:	75 49                	jne    0x140197fc0
140197f77:	45 8d 99 00 01 00 00 	lea    0x100(%r9),%r11d
140197f7e:	49 b9 01 00 00 00 01 	movabs $0x100000001,%r9
140197f85:	00 00 00
140197f88:	41 c1 e3 10          	shl    $0x10,%r11d
140197f8c:	0f 1f 40 00          	nopl   0x0(%rax)
140197f90:	0f b6 0a             	movzbl (%rdx),%ecx
140197f93:	4d 8d 52 20          	lea    0x20(%r10),%r10
140197f97:	41 03 cb             	add    %r11d,%ecx
140197f9a:	48 ff c2             	inc    %rdx
140197f9d:	49 0f af c9          	imul   %r9,%rcx
140197fa1:	49 89 4a d0          	mov    %rcx,-0x30(%r10)
140197fa5:	49 89 4a d8          	mov    %rcx,-0x28(%r10)
140197fa9:	49 89 4a e0          	mov    %rcx,-0x20(%r10)
140197fad:	49 89 4a e8          	mov    %rcx,-0x18(%r10)
140197fb1:	49 3b d0             	cmp    %r8,%rdx
140197fb4:	75 da                	jne    0x140197f90
140197fb6:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140197fbb:	48 83 c4 08          	add    $0x8,%rsp
140197fbf:	c3                   	ret
140197fc0:	0f b7 5c 24 38       	movzwl 0x38(%rsp),%ebx
140197fc5:	41 c1 e3 08          	shl    $0x8,%r11d
140197fc9:	45 03 d9             	add    %r9d,%r11d
140197fcc:	49 b9 01 00 00 00 01 	movabs $0x100000001,%r9
140197fd3:	00 00 00
140197fd6:	41 c1 e3 08          	shl    $0x8,%r11d
140197fda:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140197fe0:	0f b6 0a             	movzbl (%rdx),%ecx
140197fe3:	4d 8d 52 20          	lea    0x20(%r10),%r10
140197fe7:	41 03 cb             	add    %r11d,%ecx
140197fea:	48 ff c2             	inc    %rdx
140197fed:	c1 e1 08             	shl    $0x8,%ecx
140197ff0:	03 cb                	add    %ebx,%ecx
140197ff2:	49 0f af c9          	imul   %r9,%rcx
140197ff6:	49 89 4a d0          	mov    %rcx,-0x30(%r10)
140197ffa:	49 89 4a d8          	mov    %rcx,-0x28(%r10)
140197ffe:	49 89 4a e0          	mov    %rcx,-0x20(%r10)
140198002:	49 89 4a e8          	mov    %rcx,-0x18(%r10)
140198006:	49 3b d0             	cmp    %r8,%rdx
140198009:	75 d5                	jne    0x140197fe0
14019800b:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140198010:	48 83 c4 08          	add    $0x8,%rsp
140198014:	c3                   	ret
140198015:	49 3b d0             	cmp    %r8,%rdx
140198018:	0f 84 40 ff ff ff    	je     0x140197f5e
14019801e:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
140198022:	83 f9 01             	cmp    $0x1,%ecx
140198025:	75 3c                	jne    0x140198063
140198027:	45 8d 99 00 01 00 00 	lea    0x100(%r9),%r11d
14019802e:	49 b9 01 00 00 00 01 	movabs $0x100000001,%r9
140198035:	00 00 00
140198038:	41 c1 e3 10          	shl    $0x10,%r11d
14019803c:	0f 1f 40 00          	nopl   0x0(%rax)
140198040:	0f b6 0a             	movzbl (%rdx),%ecx
140198043:	4d 8d 52 10          	lea    0x10(%r10),%r10
140198047:	41 03 cb             	add    %r11d,%ecx
14019804a:	48 ff c2             	inc    %rdx
14019804d:	49 0f af c9          	imul   %r9,%rcx
140198051:	49 89 4a f0          	mov    %rcx,-0x10(%r10)
140198055:	49 89 4a f8          	mov    %rcx,-0x8(%r10)
140198059:	49 3b d0             	cmp    %r8,%rdx
14019805c:	75 e2                	jne    0x140198040
14019805e:	48 83 c4 08          	add    $0x8,%rsp
140198062:	c3                   	ret
140198063:	44 0f b7 5c 24 38    	movzwl 0x38(%rsp),%r11d
140198069:	c1 e1 08             	shl    $0x8,%ecx
14019806c:	41 03 c9             	add    %r9d,%ecx
14019806f:	49 b9 01 00 00 00 01 	movabs $0x100000001,%r9
140198076:	00 00 00
140198079:	c1 e1 08             	shl    $0x8,%ecx
14019807c:	0f 1f 40 00          	nopl   0x0(%rax)
140198080:	0f b6 02             	movzbl (%rdx),%eax
140198083:	4d 8d 52 10          	lea    0x10(%r10),%r10
140198087:	03 c1                	add    %ecx,%eax
140198089:	48 ff c2             	inc    %rdx
14019808c:	c1 e0 08             	shl    $0x8,%eax
14019808f:	41 03 c3             	add    %r11d,%eax
140198092:	49 0f af c1          	imul   %r9,%rax
140198096:	49 89 42 f0          	mov    %rax,-0x10(%r10)
14019809a:	49 89 42 f8          	mov    %rax,-0x8(%r10)
14019809e:	49 3b d0             	cmp    %r8,%rdx
1401980a1:	75 dd                	jne    0x140198080
1401980a3:	48 83 c4 08          	add    $0x8,%rsp
1401980a7:	c3                   	ret
1401980a8:	49 3b d0             	cmp    %r8,%rdx
1401980ab:	0f 84 ad fe ff ff    	je     0x140197f5e
1401980b1:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
1401980b5:	83 f9 01             	cmp    $0x1,%ecx
1401980b8:	75 34                	jne    0x1401980ee
1401980ba:	41 8d 89 00 01 00 00 	lea    0x100(%r9),%ecx
1401980c1:	c1 e1 10             	shl    $0x10,%ecx
1401980c4:	0f 1f 40 00          	nopl   0x0(%rax)
1401980c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401980cf:	00
1401980d0:	0f b6 02             	movzbl (%rdx),%eax
1401980d3:	4d 8d 52 08          	lea    0x8(%r10),%r10
1401980d7:	03 c1                	add    %ecx,%eax
1401980d9:	48 ff c2             	inc    %rdx
1401980dc:	41 89 42 f8          	mov    %eax,-0x8(%r10)
1401980e0:	41 89 42 fc          	mov    %eax,-0x4(%r10)
1401980e4:	49 3b d0             	cmp    %r8,%rdx
1401980e7:	75 e7                	jne    0x1401980d0
1401980e9:	48 83 c4 08          	add    $0x8,%rsp
1401980ed:	c3                   	ret
1401980ee:	c1 e1 08             	shl    $0x8,%ecx
1401980f1:	41 03 c9             	add    %r9d,%ecx
1401980f4:	44 0f b7 4c 24 38    	movzwl 0x38(%rsp),%r9d
1401980fa:	c1 e1 08             	shl    $0x8,%ecx
1401980fd:	0f 1f 00             	nopl   (%rax)
140198100:	0f b6 02             	movzbl (%rdx),%eax
140198103:	4d 8d 52 08          	lea    0x8(%r10),%r10
140198107:	03 c1                	add    %ecx,%eax
140198109:	48 ff c2             	inc    %rdx
14019810c:	c1 e0 08             	shl    $0x8,%eax
14019810f:	41 03 c1             	add    %r9d,%eax
140198112:	41 89 42 f8          	mov    %eax,-0x8(%r10)
140198116:	41 89 42 fc          	mov    %eax,-0x4(%r10)
14019811a:	49 3b d0             	cmp    %r8,%rdx
14019811d:	75 e1                	jne    0x140198100
14019811f:	48 83 c4 08          	add    $0x8,%rsp
140198123:	c3                   	ret
140198124:	49 3b d0             	cmp    %r8,%rdx
140198127:	0f 84 31 fe ff ff    	je     0x140197f5e
14019812d:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
140198131:	83 f9 01             	cmp    $0x1,%ecx
140198134:	75 24                	jne    0x14019815a
140198136:	41 8d 89 00 01 00 00 	lea    0x100(%r9),%ecx
14019813d:	c1 e1 10             	shl    $0x10,%ecx
140198140:	0f b6 02             	movzbl (%rdx),%eax
140198143:	4d 8d 52 04          	lea    0x4(%r10),%r10
140198147:	03 c1                	add    %ecx,%eax
140198149:	48 ff c2             	inc    %rdx
14019814c:	41 89 42 fc          	mov    %eax,-0x4(%r10)
140198150:	49 3b d0             	cmp    %r8,%rdx
140198153:	75 eb                	jne    0x140198140
140198155:	48 83 c4 08          	add    $0x8,%rsp
140198159:	c3                   	ret
14019815a:	c1 e1 08             	shl    $0x8,%ecx
14019815d:	41 03 c9             	add    %r9d,%ecx
140198160:	44 0f b7 4c 24 38    	movzwl 0x38(%rsp),%r9d
140198166:	c1 e1 08             	shl    $0x8,%ecx
140198169:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140198170:	0f b6 02             	movzbl (%rdx),%eax
140198173:	4d 8d 52 04          	lea    0x4(%r10),%r10
140198177:	03 c1                	add    %ecx,%eax
140198179:	48 ff c2             	inc    %rdx
14019817c:	c1 e0 08             	shl    $0x8,%eax
14019817f:	41 03 c1             	add    %r9d,%eax
140198182:	41 89 42 fc          	mov    %eax,-0x4(%r10)
140198186:	49 3b d0             	cmp    %r8,%rdx
140198189:	75 e5                	jne    0x140198170
14019818b:	48 83 c4 08          	add    $0x8,%rsp
14019818f:	c3                   	ret
140198190:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140198194:	84 c0                	test   %al,%al
140198196:	74 1a                	je     0x1401981b2
140198198:	0f bd d0             	bsr    %eax,%edx
14019819b:	b8 08 00 00 00       	mov    $0x8,%eax
1401981a0:	2b c2                	sub    %edx,%eax
1401981a2:	8b d0                	mov    %eax,%edx
1401981a4:	48 8b 01             	mov    (%rcx),%rax
1401981a7:	48 83 c8 01          	or     $0x1,%rax
1401981ab:	0f b6 ca             	movzbl %dl,%ecx
1401981ae:	48 d3 e0             	shl    %cl,%rax
1401981b1:	c3                   	ret
1401981b2:	48 8b 01             	mov    (%rcx),%rax
1401981b5:	33 d2                	xor    %edx,%edx
1401981b7:	48 83 c8 01          	or     $0x1,%rax
1401981bb:	0f b6 ca             	movzbl %dl,%ecx
1401981be:	48 d3 e0             	shl    %cl,%rax
1401981c1:	c3                   	ret
1401981c2:	cc                   	int3
1401981c3:	cc                   	int3
1401981c4:	cc                   	int3
1401981c5:	cc                   	int3
1401981c6:	cc                   	int3
1401981c7:	cc                   	int3
1401981c8:	cc                   	int3
1401981c9:	cc                   	int3
1401981ca:	cc                   	int3
1401981cb:	cc                   	int3
1401981cc:	cc                   	int3
1401981cd:	cc                   	int3
1401981ce:	cc                   	int3
1401981cf:	cc                   	int3
1401981d0:	4c 8b dc             	mov    %rsp,%r11
1401981d3:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1401981d7:	55                   	push   %rbp
1401981d8:	56                   	push   %rsi
1401981d9:	57                   	push   %rdi
1401981da:	41 54                	push   %r12
1401981dc:	41 55                	push   %r13
1401981de:	41 56                	push   %r14
1401981e0:	41 57                	push   %r15
1401981e2:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1401981e9:	45 33 e4             	xor    %r12d,%r12d
1401981ec:	4c 8d 69 04          	lea    0x4(%rcx),%r13
1401981f0:	48 81 bc 24 00 01 00 	cmpq   $0x5d4,0x100(%rsp)
1401981f7:	00 d4 05 00 00
1401981fc:	49 8b d9             	mov    %r9,%rbx
1401981ff:	4c 8b f1             	mov    %rcx,%r14
140198202:	45 89 63 08          	mov    %r12d,0x8(%r11)
140198206:	44 89 64 24 50       	mov    %r12d,0x50(%rsp)
14019820b:	0f 82 24 06 00 00    	jb     0x140198835
140198211:	8b 84 24 08 01 00 00 	mov    0x108(%rsp),%eax
140198218:	49 8d a9 d4 04 00 00 	lea    0x4d4(%r9),%rbp
14019821f:	89 44 24 48          	mov    %eax,0x48(%rsp)
140198223:	49 83 c1 68          	add    $0x68,%r9
140198227:	48 c7 44 24 40 6c 03 	movq   $0x36c,0x40(%rsp)
14019822e:	00 00
140198230:	49 8d 43 08          	lea    0x8(%r11),%rax
140198234:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
140198239:	48 8b cd             	mov    %rbp,%rcx
14019823c:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140198241:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
140198246:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
14019824b:	4c 8b c3             	mov    %rbx,%r8
14019824e:	ba 00 01 00 00       	mov    $0x100,%edx
140198253:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140198258:	e8 13 a0 ff ff       	call   0x140192270
14019825d:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140198262:	48 83 f8 88          	cmp    $0xffffffffffffff88,%rax
140198266:	0f 87 47 04 00 00    	ja     0x1401986b3
14019826c:	41 8b 0e             	mov    (%r14),%ecx
14019826f:	bf 0b 00 00 00       	mov    $0xb,%edi
140198274:	44 8b 8c 24 e0 00 00 	mov    0xe0(%rsp),%r9d
14019827b:	00
14019827c:	8b 74 24 50          	mov    0x50(%rsp),%esi
140198280:	44 0f b6 f9          	movzbl %cl,%r15d
140198284:	41 ff c7             	inc    %r15d
140198287:	89 8c 24 00 01 00 00 	mov    %ecx,0x100(%rsp)
14019828e:	44 3b ff             	cmp    %edi,%r15d
140198291:	44 89 8c 24 f8 00 00 	mov    %r9d,0xf8(%rsp)
140198298:	00
140198299:	41 0f 42 ff          	cmovb  %r15d,%edi
14019829d:	44 3b cf             	cmp    %edi,%r9d
1401982a0:	0f 87 74 01 00 00    	ja     0x14019841a
1401982a6:	0f 83 64 01 00 00    	jae    0x140198410
1401982ac:	8b d7                	mov    %edi,%edx
1401982ae:	41 2b d1             	sub    %r9d,%edx
1401982b1:	45 8b cc             	mov    %r12d,%r9d
1401982b4:	66 0f 6e ca          	movd   %edx,%xmm1