140197ee1:	41 bc ff ff ff ff    	mov    $0xffffffff,%r12d
140197ee7:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
140197eec:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140197ef1:	41 3b f9             	cmp    %r9d,%edi
140197ef4:	77 06                	ja     0x140197efc
140197ef6:	8b 6c be 04          	mov    0x4(%rsi,%rdi,4),%ebp
140197efa:	eb 03                	jmp    0x140197eff
140197efc:	41 8b ee             	mov    %r14d,%ebp
140197eff:	8d 47 ff             	lea    -0x1(%rdi),%eax
140197f02:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
140197f06:	8d 47 fe             	lea    -0x2(%rdi),%eax
140197f09:	44 8b 54 86 04       	mov    0x4(%rsi,%rax,4),%r10d
140197f0e:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140197f13:	89 6c 24 2c          	mov    %ebp,0x2c(%rsp)
140197f17:	85 d2                	test   %edx,%edx
140197f19:	74 32                	je     0x140197f4d
140197f1b:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140197f20:	45 8b c2             	mov    %r10d,%r8d
140197f23:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140197f28:	49 d3 e8             	shr    %cl,%r8
140197f2b:	8b ca                	mov    %edx,%ecx
140197f2d:	48 d3 e0             	shl    %cl,%rax
140197f30:	4c 0b c0             	or     %rax,%r8
140197f33:	41 d3 e2             	shl    %cl,%r10d
140197f36:	83 ff 03             	cmp    $0x3,%edi
140197f39:	72 17                	jb     0x140197f52
140197f3b:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
140197f3f:	8d 47 fd             	lea    -0x3(%rdi),%eax
140197f42:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
140197f46:	d3 e8                	shr    %cl,%eax
140197f48:	44 0b d0             	or     %eax,%r10d
140197f4b:	eb 05                	jmp    0x140197f52
140197f4d:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
140197f52:	33 d2                	xor    %edx,%edx
140197f54:	49 8b c0             	mov    %r8,%rax
140197f57:	49 f7 f3             	div    %r11
140197f5a:	8b ca                	mov    %edx,%ecx
140197f5c:	4c 8b c0             	mov    %rax,%r8
140197f5f:	49 3b c4             	cmp    %r12,%rax
140197f62:	76 17                	jbe    0x140197f7b
140197f64:	48 b8 01 00 00 00 ff 	movabs $0xffffffff00000001,%rax
140197f6b:	ff ff ff
140197f6e:	49 03 c0             	add    %r8,%rax
140197f71:	4d 8b c4             	mov    %r12,%r8
140197f74:	49 0f af c3          	imul   %r11,%rax
140197f78:	48 03 c8             	add    %rax,%rcx
140197f7b:	49 3b cc             	cmp    %r12,%rcx
140197f7e:	77 44                	ja     0x140197fc4
140197f80:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140197f85:	45 8b da             	mov    %r10d,%r11d
140197f88:	44 8b 94 24 78 02 00 	mov    0x278(%rsp),%r10d
140197f8f:	00
140197f90:	41 8b d2             	mov    %r10d,%edx
140197f93:	49 0f af d0          	imul   %r8,%rdx
140197f97:	49 f7 da             	neg    %r10
140197f9a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140197fa0:	48 8b c1             	mov    %rcx,%rax
140197fa3:	48 c1 e0 20          	shl    $0x20,%rax
140197fa7:	49 0b c3             	or     %r11,%rax
140197faa:	48 3b d0             	cmp    %rax,%rdx
140197fad:	76 0e                	jbe    0x140197fbd
140197faf:	49 ff c8             	dec    %r8
140197fb2:	49 03 d2             	add    %r10,%rdx
140197fb5:	48 03 cb             	add    %rbx,%rcx
140197fb8:	49 3b cc             	cmp    %r12,%rcx
140197fbb:	76 e3                	jbe    0x140197fa0
140197fbd:	8b 9c 24 60 02 00 00 	mov    0x260(%rsp),%ebx
140197fc4:	4d 85 c0             	test   %r8,%r8
140197fc7:	0f 84 c0 00 00 00    	je     0x14019808d
140197fcd:	49 8b ce             	mov    %r14,%rcx
140197fd0:	45 85 ed             	test   %r13d,%r13d
140197fd3:	74 58                	je     0x14019802d
140197fd5:	4c 8b 8c 24 68 02 00 	mov    0x268(%rsp),%r9
140197fdc:	00
140197fdd:	8b d3                	mov    %ebx,%edx
140197fdf:	49 83 c1 04          	add    $0x4,%r9
140197fe3:	41 8b dd             	mov    %r13d,%ebx
140197fe6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140197fed:	00 00 00
140197ff0:	41 8b 01             	mov    (%r9),%eax
140197ff3:	49 0f af c0          	imul   %r8,%rax
140197ff7:	48 03 c8             	add    %rax,%rcx
140197ffa:	8b c2                	mov    %edx,%eax
140197ffc:	44 8b d1             	mov    %ecx,%r10d
140197fff:	48 c1 e9 20          	shr    $0x20,%rcx
140198003:	4c 8d 1c 86          	lea    (%rsi,%rax,4),%r11
140198007:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
14019800b:	41 3b c2             	cmp    %r10d,%eax
14019800e:	73 03                	jae    0x140198013
140198010:	48 ff c1             	inc    %rcx
140198013:	41 2b c2             	sub    %r10d,%eax
140198016:	ff c2                	inc    %edx
140198018:	49 83 c1 04          	add    $0x4,%r9
14019801c:	41 89 43 04          	mov    %eax,0x4(%r11)
140198020:	48 83 eb 01          	sub    $0x1,%rbx
140198024:	75 ca                	jne    0x140197ff0
140198026:	8b 9c 24 60 02 00 00 	mov    0x260(%rsp),%ebx
14019802d:	8b c5                	mov    %ebp,%eax
14019802f:	48 3b c1             	cmp    %rcx,%rax
140198032:	73 4e                	jae    0x140198082
140198034:	45 8b ce             	mov    %r14d,%r9d
140198037:	45 85 ed             	test   %r13d,%r13d
14019803a:	74 43                	je     0x14019807f
14019803c:	4c 8b 9c 24 68 02 00 	mov    0x268(%rsp),%r11
140198043:	00
140198044:	44 8b d3             	mov    %ebx,%r10d
140198047:	49 83 c3 04          	add    $0x4,%r11
14019804b:	41 8b dd             	mov    %r13d,%ebx
14019804e:	66 90                	xchg   %ax,%ax
140198050:	41 8b c2             	mov    %r10d,%eax
140198053:	4d 8d 5b 04          	lea    0x4(%r11),%r11
140198057:	8b 54 86 04          	mov    0x4(%rsi,%rax,4),%edx
14019805b:	48 8d 0c 86          	lea    (%rsi,%rax,4),%rcx
14019805f:	41 8b 43 fc          	mov    -0x4(%r11),%eax
140198063:	41 ff c2             	inc    %r10d
140198066:	48 03 d0             	add    %rax,%rdx
140198069:	41 8b c1             	mov    %r9d,%eax
14019806c:	48 03 d0             	add    %rax,%rdx
14019806f:	4c 8b ca             	mov    %rdx,%r9
140198072:	89 51 04             	mov    %edx,0x4(%rcx)
140198075:	49 c1 e9 20          	shr    $0x20,%r9
140198079:	48 83 eb 01          	sub    $0x1,%rbx
14019807d:	75 d1                	jne    0x140198050
14019807f:	49 ff c8             	dec    %r8
140198082:	8b 9c 24 60 02 00 00 	mov    0x260(%rsp),%ebx
140198089:	44 8d 4f ff          	lea    -0x1(%rdi),%r9d
14019808d:	4c 8b 5c 24 30       	mov    0x30(%rsp),%r11
140198092:	ff cb                	dec    %ebx
140198094:	8b 94 24 70 02 00 00 	mov    0x270(%rsp),%edx
14019809b:	ff cf                	dec    %edi
14019809d:	49 c1 e7 20          	shl    $0x20,%r15
1401980a1:	41 8b c0             	mov    %r8d,%eax
1401980a4:	4c 03 f8             	add    %rax,%r15
1401980a7:	89 9c 24 60 02 00 00 	mov    %ebx,0x260(%rsp)
1401980ae:	85 db                	test   %ebx,%ebx
1401980b0:	0f 89 3b fe ff ff    	jns    0x140197ef1
1401980b6:	41 ff c1             	inc    %r9d
1401980b9:	41 8b c9             	mov    %r9d,%ecx
1401980bc:	44 3b 0e             	cmp    (%rsi),%r9d
1401980bf:	73 0d                	jae    0x1401980ce
1401980c1:	8b c1                	mov    %ecx,%eax
1401980c3:	ff c1                	inc    %ecx
1401980c5:	44 89 74 86 04       	mov    %r14d,0x4(%rsi,%rax,4)
1401980ca:	3b 0e                	cmp    (%rsi),%ecx
1401980cc:	72 f3                	jb     0x1401980c1
1401980ce:	44 89 0e             	mov    %r9d,(%rsi)
1401980d1:	45 85 c9             	test   %r9d,%r9d
1401980d4:	74 1b                	je     0x1401980f1
1401980d6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1401980dd:	00 00 00
1401980e0:	8b 16                	mov    (%rsi),%edx
1401980e2:	ff ca                	dec    %edx
1401980e4:	44 39 74 96 04       	cmp    %r14d,0x4(%rsi,%rdx,4)
1401980e9:	75 06                	jne    0x1401980f1
1401980eb:	89 16                	mov    %edx,(%rsi)
1401980ed:	85 d2                	test   %edx,%edx
1401980ef:	75 ef                	jne    0x1401980e0
1401980f1:	49 8b c7             	mov    %r15,%rax
1401980f4:	4c 8b ac 24 28 02 00 	mov    0x228(%rsp),%r13
1401980fb:	00
1401980fc:	4c 8b b4 24 20 02 00 	mov    0x220(%rsp),%r14
140198103:	00
140198104:	4c 8b a4 24 30 02 00 	mov    0x230(%rsp),%r12
14019810b:	00
14019810c:	48 8b ac 24 38 02 00 	mov    0x238(%rsp),%rbp
140198113:	00
140198114:	48 8b 9c 24 40 02 00 	mov    0x240(%rsp),%rbx
14019811b:	00
14019811c:	4c 8b bc 24 18 02 00 	mov    0x218(%rsp),%r15
140198123:	00
140198124:	48 81 c4 48 02 00 00 	add    $0x248,%rsp
14019812b:	5f                   	pop    %rdi
14019812c:	5e                   	pop    %rsi
14019812d:	c3                   	ret
14019812e:	cc                   	int3
14019812f:	cc                   	int3
140198130:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140198135:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14019813a:	57                   	push   %rdi
14019813b:	48 83 ec 20          	sub    $0x20,%rsp
14019813f:	49 8b d9             	mov    %r9,%rbx
140198142:	49 8b f0             	mov    %r8,%rsi
140198145:	48 8b fa             	mov    %rdx,%rdi
140198148:	4d 85 c9             	test   %r9,%r9
14019814b:	75 04                	jne    0x140198151
14019814d:	33 c0                	xor    %eax,%eax
14019814f:	eb 56                	jmp    0x1401981a7
140198151:	48 85 c9             	test   %rcx,%rcx
140198154:	75 15                	jne    0x14019816b
140198156:	e8 b1 7d ff ff       	call   0x14018ff0c
14019815b:	bb 16 00 00 00       	mov    $0x16,%ebx
140198160:	89 18                	mov    %ebx,(%rax)
140198162:	e8 fd 33 ff ff       	call   0x14018b564
140198167:	8b c3                	mov    %ebx,%eax
140198169:	eb 3c                	jmp    0x1401981a7
14019816b:	4d 85 c0             	test   %r8,%r8
14019816e:	74 12                	je     0x140198182
140198170:	48 3b d3             	cmp    %rbx,%rdx
140198173:	72 0d                	jb     0x140198182
140198175:	4c 8b c3             	mov    %rbx,%r8
140198178:	48 8b d6             	mov    %rsi,%rdx
14019817b:	e8 40 02 ff ff       	call   0x1401883c0
140198180:	eb cb                	jmp    0x14019814d
140198182:	4c 8b c2             	mov    %rdx,%r8
140198185:	33 d2                	xor    %edx,%edx
140198187:	e8 e4 08 ff ff       	call   0x140188a70
14019818c:	48 85 f6             	test   %rsi,%rsi
14019818f:	74 c5                	je     0x140198156
140198191:	48 3b fb             	cmp    %rbx,%rdi
140198194:	73 0c                	jae    0x1401981a2
140198196:	e8 71 7d ff ff       	call   0x14018ff0c
14019819b:	bb 22 00 00 00       	mov    $0x22,%ebx
1401981a0:	eb be                	jmp    0x140198160
1401981a2:	b8 16 00 00 00       	mov    $0x16,%eax
1401981a7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401981ac:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1401981b1:	48 83 c4 20          	add    $0x20,%rsp
1401981b5:	5f                   	pop    %rdi
1401981b6:	c3                   	ret
1401981b7:	cc                   	int3
1401981b8:	45 33 c0             	xor    %r8d,%r8d
1401981bb:	e9 d0 c9 ff ff       	jmp    0x140194b90
1401981c0:	45 33 c0             	xor    %r8d,%r8d
1401981c3:	e9 24 c9 ff ff       	jmp    0x140194aec
1401981c8:	48 8b c4             	mov    %rsp,%rax
1401981cb:	48 89 58 10          	mov    %rbx,0x10(%rax)
1401981cf:	48 89 70 20          	mov    %rsi,0x20(%rax)
1401981d3:	f2 0f 11 40 08       	movsd  %xmm0,0x8(%rax)
1401981d8:	57                   	push   %rdi
1401981d9:	48 83 ec 40          	sub    $0x40,%rsp
1401981dd:	8b da                	mov    %edx,%ebx
1401981df:	0f 29 70 e8          	movaps %xmm6,-0x18(%rax)
1401981e3:	be c0 ff 00 00       	mov    $0xffc0,%esi
1401981e8:	b9 80 1f 00 00       	mov    $0x1f80,%ecx
1401981ed:	8b d6                	mov    %esi,%edx
1401981ef:	0f 28 f0             	movaps %xmm0,%xmm6
1401981f2:	e8 39 40 01 00       	call   0x1401ac230
1401981f7:	0f b7 4c 24 56       	movzwl 0x56(%rsp),%ecx
1401981fc:	48 8b f8             	mov    %rax,%rdi
1401981ff:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
140198204:	66 23 c8             	and    %ax,%cx
140198207:	66 3b c8             	cmp    %ax,%cx
14019820a:	75 44                	jne    0x140198250
14019820c:	0f 28 c6             	movaps %xmm6,%xmm0
14019820f:	e8 88 3f 01 00       	call   0x1401ac19c
140198214:	85 c0                	test   %eax,%eax
140198216:	7e 23                	jle    0x14019823b
140198218:	83 f8 02             	cmp    $0x2,%eax
14019821b:	0f 8e c0 00 00 00    	jle    0x1401982e1
140198221:	83 f8 03             	cmp    $0x3,%eax
140198224:	75 15                	jne    0x14019823b
140198226:	66 0f 6e cb          	movd   %ebx,%xmm1
14019822a:	0f 28 c6             	movaps %xmm6,%xmm0
14019822d:	f3 0f e6 c9          	cvtdq2pd %xmm1,%xmm1
140198231:	e8 92 39 01 00       	call   0x1401abbc8
140198236:	e9 eb 00 00 00       	jmp    0x140198326
14019823b:	0f 28 c6             	movaps %xmm6,%xmm0
14019823e:	b9 08 00 00 00       	mov    $0x8,%ecx
140198243:	f2 0f 58 05 d5 1e 0f 	addsd  0xf1ed5(%rip),%xmm0        # 0x14028a120
14019824a:	00
14019824b:	e9 b6 00 00 00       	jmp    0x140198306
140198250:	66 0f 2e 35 28 9b 08 	ucomisd 0x89b28(%rip),%xmm6        # 0x140221d80
140198257:	00
140198258:	7a 06                	jp     0x140198260
14019825a:	0f 84 81 00 00 00    	je     0x1401982e1
140198260:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140198265:	0f 28 c6             	movaps %xmm6,%xmm0
140198268:	e8 c3 3d 01 00       	call   0x1401ac030
14019826d:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
140198271:	85 db                	test   %ebx,%ebx
140198273:	79 0d                	jns    0x140198282
140198275:	b8 00 00 00 80       	mov    $0x80000000,%eax
14019827a:	2b c3                	sub    %ebx,%eax
14019827c:	3b c8                	cmp    %eax,%ecx
14019827e:	7c 35                	jl     0x1401982b5
140198280:	eb 0b                	jmp    0x14019828d
140198282:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140198287:	2b c3                	sub    %ebx,%eax
140198289:	3b c8                	cmp    %eax,%ecx
14019828b:	7f 64                	jg     0x1401982f1
14019828d:	8d 14 19             	lea    (%rcx,%rbx,1),%edx
140198290:	81 fa 00 0a 00 00    	cmp    $0xa00,%edx
140198296:	7f 59                	jg     0x1401982f1
140198298:	81 fa 00 04 00 00    	cmp    $0x400,%edx
14019829e:	7e 0d                	jle    0x1401982ad
1401982a0:	81 c2 00 fa ff ff    	add    $0xfffffa00,%edx
1401982a6:	e8 b9 3e 01 00       	call   0x1401ac164
1401982ab:	eb 54                	jmp    0x140198301
1401982ad:	81 fa 03 f6 ff ff    	cmp    $0xfffff603,%edx
1401982b3:	7d 0f                	jge    0x1401982c4
1401982b5:	f2 0f 59 05 c3 9a 08 	mulsd  0x89ac3(%rip),%xmm0        # 0x140221d80
1401982bc:	00
1401982bd:	b9 12 00 00 00       	mov    $0x12,%ecx
1401982c2:	eb 42                	jmp    0x140198306
1401982c4:	81 fa 03 fc ff ff    	cmp    $0xfffffc03,%edx
1401982ca:	7d 0d                	jge    0x1401982d9
1401982cc:	81 c2 00 06 00 00    	add    $0x600,%edx
1401982d2:	e8 8d 3e 01 00       	call   0x1401ac164
1401982d7:	eb e4                	jmp    0x1401982bd
1401982d9:	e8 86 3e 01 00       	call   0x1401ac164
1401982de:	0f 28 f0             	movaps %xmm0,%xmm6
1401982e1:	48 8b d6             	mov    %rsi,%rdx
1401982e4:	48 8b cf             	mov    %rdi,%rcx
1401982e7:	e8 44 3f 01 00       	call   0x1401ac230
1401982ec:	0f 28 c6             	movaps %xmm6,%xmm0
1401982ef:	eb 35                	jmp    0x140198326
1401982f1:	0f 28 c8             	movaps %xmm0,%xmm1
1401982f4:	f2 0f 10 05 44 e1 08 	movsd  0x8e144(%rip),%xmm0        # 0x140226440
1401982fb:	00
1401982fc:	e8 f3 3f 01 00       	call   0x1401ac2f4
140198301:	b9 11 00 00 00       	mov    $0x11,%ecx
140198306:	66 0f 6e db          	movd   %ebx,%xmm3
14019830a:	0f 28 d6             	movaps %xmm6,%xmm2
14019830d:	f3 0f e6 db          	cvtdq2pd %xmm3,%xmm3
140198311:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140198316:	ba 19 00 00 00       	mov    $0x19,%edx
14019831b:	f2 0f 11 44 24 20    	movsd  %xmm0,0x20(%rsp)
140198321:	e8 32 35 01 00       	call   0x1401ab858
140198326:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
14019832b:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140198330:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
140198335:	48 83 c4 40          	add    $0x40,%rsp
140198339:	5f                   	pop    %rdi
14019833a:	c3                   	ret
14019833b:	cc                   	int3
14019833c:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140198341:	53                   	push   %rbx
140198342:	48 83 ec 20          	sub    $0x20,%rsp
140198346:	33 c0                	xor    %eax,%eax
140198348:	48 85 c9             	test   %rcx,%rcx
14019834b:	0f 95 c0             	setne  %al
14019834e:	85 c0                	test   %eax,%eax
140198350:	75 16                	jne    0x140198368
140198352:	e8 b5 7b ff ff       	call   0x14018ff0c
140198357:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14019835d:	e8 02 32 ff ff       	call   0x14018b564
140198362:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140198366:	eb 20                	jmp    0x140198388
140198368:	e8 37 3f ff ff       	call   0x14018c2a4
14019836d:	90                   	nop
14019836e:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140198373:	e8 18 00 00 00       	call   0x140198390
140198378:	48 8b d8             	mov    %rax,%rbx
14019837b:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140198380:	e8 2b 3f ff ff       	call   0x14018c2b0
140198385:	48 8b c3             	mov    %rbx,%rax
140198388:	48 83 c4 20          	add    $0x20,%rsp
14019838c:	5b                   	pop    %rbx
14019838d:	c3                   	ret
14019838e:	cc                   	int3