140216fb0:	4f 8d 0c 12          	lea    (%r10,%r10,1),%r9
140216fb4:	ff ce                	dec    %esi
140216fb6:	4d 8b d1             	mov    %r9,%r10
140216fb9:	4d 85 cb             	test   %r9,%r11
140216fbc:	74 f2                	je     0x140216fb0
140216fbe:	49 c1 e1 0b          	shl    $0xb,%r9
140216fc2:	83 c6 f5             	add    $0xfffffff5,%esi
140216fc5:	4d 8b d1             	mov    %r9,%r10
140216fc8:	44 89 7d e7          	mov    %r15d,-0x19(%rbp)
140216fcc:	b8 c3 ff ff ff       	mov    $0xffffffc3,%eax
140216fd1:	49 c1 ea 20          	shr    $0x20,%r10
140216fd5:	2b c6                	sub    %esi,%eax
140216fd7:	44 89 65 eb          	mov    %r12d,-0x15(%rbp)
140216fdb:	48 98                	cltq
140216fdd:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
140216fe2:	48 69 c0 42 4d 10 4d 	imul   $0x4d104d42,%rax,%rax
140216fe9:	48 03 c1             	add    %rcx,%rax
140216fec:	48 c1 f8 20          	sar    $0x20,%rax
140216ff0:	05 5b 01 00 00       	add    $0x15b,%eax
140216ff5:	99                   	cltd
140216ff6:	83 e2 07             	and    $0x7,%edx
140216ff9:	03 c2                	add    %edx,%eax
140216ffb:	c1 f8 03             	sar    $0x3,%eax
140216ffe:	48 63 f8             	movslq %eax,%rdi
140217001:	44 8d 2c c5 ac fe ff 	lea    -0x154(,%rax,8),%r13d
140217008:	ff
140217009:	48 8d 05 f0 8f de ff 	lea    -0x217010(%rip),%rax        # 0x140000000
140217010:	48 8b 8c f8 f8 d2 fa 	mov    0xfad2f8(%rax,%rdi,8),%rcx
140217017:	00
140217018:	41 8b c1             	mov    %r9d,%eax
14021701b:	4c 8b c9             	mov    %rcx,%r9
14021701e:	8b d1                	mov    %ecx,%edx
140217020:	48 0f af d0          	imul   %rax,%rdx
140217024:	44 8b c1             	mov    %ecx,%r8d
140217027:	48 c1 ea 20          	shr    $0x20,%rdx
14021702b:	4d 0f af c2          	imul   %r10,%r8
14021702f:	49 c1 e9 20          	shr    $0x20,%r9
140217033:	4d 8b d9             	mov    %r9,%r11
140217036:	4c 0f af d8          	imul   %rax,%r11
14021703a:	4d 0f af ca          	imul   %r10,%r9
14021703e:	41 8b c0             	mov    %r8d,%eax
140217041:	48 03 d0             	add    %rax,%rdx
140217044:	41 8b cb             	mov    %r11d,%ecx
140217047:	49 c1 e8 20          	shr    $0x20,%r8
14021704b:	b8 00 00 00 80       	mov    $0x80000000,%eax
140217050:	48 03 d0             	add    %rax,%rdx
140217053:	49 c1 eb 20          	shr    $0x20,%r11
140217057:	48 03 d1             	add    %rcx,%rdx
14021705a:	48 8d 05 9f 8f de ff 	lea    -0x217061(%rip),%rax        # 0x140000000
140217061:	0f bf 8c 78 b2 d5 fa 	movswl 0xfad5b2(%rax,%rdi,2),%ecx
140217068:	00
140217069:	49 8b 46 08          	mov    0x8(%r14),%rax
14021706d:	83 c1 40             	add    $0x40,%ecx
140217070:	48 c1 ea 20          	shr    $0x20,%rdx
140217074:	03 ce                	add    %esi,%ecx
140217076:	49 03 d1             	add    %r9,%rdx
140217079:	48 89 45 df          	mov    %rax,-0x21(%rbp)
14021707d:	49 03 d0             	add    %r8,%rdx
140217080:	89 4d bf             	mov    %ecx,-0x41(%rbp)
140217083:	49 03 d3             	add    %r11,%rdx
140217086:	4c 8d 4d df          	lea    -0x21(%rbp),%r9
14021708a:	48 89 55 b7          	mov    %rdx,-0x49(%rbp)
14021708e:	4c 8d 45 ab          	lea    -0x55(%rbp),%r8
140217092:	0f 28 45 b7          	movaps -0x49(%rbp),%xmm0
140217096:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
14021709a:	41 8b c5             	mov    %r13d,%eax
14021709d:	66 0f 7f 45 b7       	movdqa %xmm0,-0x49(%rbp)
1402170a2:	f7 d8                	neg    %eax
1402170a4:	ba 01 00 00 00       	mov    $0x1,%edx
1402170a9:	89 45 ef             	mov    %eax,-0x11(%rbp)
1402170ac:	0f b6 45 a7          	movzbl -0x59(%rbp),%eax
1402170b0:	88 45 f3             	mov    %al,-0xd(%rbp)
1402170b3:	e8 e8 ee 00 00       	call   0x140225fa0
1402170b8:	0f b6 75 dd          	movzbl -0x23(%rbp),%esi
1402170bc:	83 f8 02             	cmp    $0x2,%eax
1402170bf:	74 16                	je     0x1402170d7
1402170c1:	8b 55 e7             	mov    -0x19(%rbp),%edx
1402170c4:	49 8b ce             	mov    %r14,%rcx
1402170c7:	e8 94 ff 00 00       	call   0x140227060
1402170cc:	8b 7d ef             	mov    -0x11(%rbp),%edi
1402170cf:	03 7d ab             	add    -0x55(%rbp),%edi
1402170d2:	e9 27 01 00 00       	jmp    0x1402171fe
1402170d7:	8b 45 ab             	mov    -0x55(%rbp),%eax
1402170da:	8b 4d e7             	mov    -0x19(%rbp),%ecx
1402170dd:	ff c8                	dec    %eax
1402170df:	44 8b 55 eb          	mov    -0x15(%rbp),%r10d
1402170e3:	41 2b cd             	sub    %r13d,%ecx
1402170e6:	03 c8                	add    %eax,%ecx
1402170e8:	4c 89 7d bf          	mov    %r15,-0x41(%rbp)
1402170ec:	89 4d ab             	mov    %ecx,-0x55(%rbp)
1402170ef:	40 f6 c6 04          	test   $0x4,%sil
1402170f3:	74 60                	je     0x140217155
1402170f5:	0f 57 c0             	xorps  %xmm0,%xmm0
1402170f8:	f2 0f 5a c6          	cvtsd2ss %xmm6,%xmm0
1402170fc:	66 0f 7e c0          	movd   %xmm0,%eax
140217100:	8b c8                	mov    %eax,%ecx
140217102:	c1 e8 17             	shr    $0x17,%eax
140217105:	81 e1 ff ff 7f 00    	and    $0x7fffff,%ecx
14021710b:	44 0f b6 c0          	movzbl %al,%r8d
14021710f:	48 89 4d b7          	mov    %rcx,-0x49(%rbp)
140217113:	0f 10 45 b7          	movups -0x49(%rbp),%xmm0
140217117:	0f 11 45 df          	movups %xmm0,-0x21(%rbp)
14021711b:	48 85 c9             	test   %rcx,%rcx
14021711e:	75 20                	jne    0x140217140
140217120:	41 83 f8 01          	cmp    $0x1,%r8d
140217124:	76 1a                	jbe    0x140217140
140217126:	b2 01                	mov    $0x1,%dl
140217128:	48 8d 81 00 00 80 00 	lea    0x800000(%rcx),%rax
14021712f:	4c 89 7d e7          	mov    %r15,-0x19(%rbp)
140217133:	48 89 45 df          	mov    %rax,-0x21(%rbp)
140217137:	41 8d 80 6a ff ff ff 	lea    -0x96(%r8),%eax
14021713e:	eb 6f                	jmp    0x1402171af
140217140:	32 d2                	xor    %dl,%dl
140217142:	84 c0                	test   %al,%al
140217144:	75 e2                	jne    0x140217128
140217146:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14021714c:	41 8d 80 6a ff ff ff 	lea    -0x96(%r8),%eax
140217153:	eb 5a                	jmp    0x1402171af
140217155:	66 48 0f 7e f1       	movq   %xmm6,%rcx
14021715a:	48 ba ff ff ff ff ff 	movabs $0xfffffffffffff,%rdx
140217161:	ff 0f 00
140217164:	48 8b c1             	mov    %rcx,%rax
140217167:	48 c1 e9 34          	shr    $0x34,%rcx
14021716b:	48 23 c2             	and    %rdx,%rax
14021716e:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
140217174:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
140217178:	0f 10 45 b7          	movups -0x49(%rbp),%xmm0
14021717c:	0f 11 45 df          	movups %xmm0,-0x21(%rbp)
140217180:	48 85 c0             	test   %rax,%rax
140217183:	0f 85 ef 00 00 00    	jne    0x140217278
140217189:	83 f9 01             	cmp    $0x1,%ecx
14021718c:	0f 86 e6 00 00 00    	jbe    0x140217278
140217192:	b2 01                	mov    $0x1,%dl
140217194:	49 b8 00 00 00 00 00 	movabs $0x10000000000000,%r8
14021719b:	00 10 00
14021719e:	4c 89 7d e7          	mov    %r15,-0x19(%rbp)
1402171a2:	49 03 c0             	add    %r8,%rax
1402171a5:	48 89 45 df          	mov    %rax,-0x21(%rbp)
1402171a9:	8d 81 cd fb ff ff    	lea    -0x433(%rcx),%eax
1402171af:	0f 10 45 df          	movups -0x21(%rbp),%xmm0
1402171b3:	84 d2                	test   %dl,%dl
1402171b5:	89 45 ef             	mov    %eax,-0x11(%rbp)
1402171b8:	f2 0f 10 4d ef       	movsd  -0x11(%rbp),%xmm1
1402171bd:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
1402171c1:	41 0f 95 c7          	setne  %r15b
1402171c5:	0f 29 45 b7          	movaps %xmm0,-0x49(%rbp)
1402171c9:	b8 ff 02 00 00       	mov    $0x2ff,%eax
1402171ce:	f2 0f 11 4d c7       	movsd  %xmm1,-0x39(%rbp)
1402171d3:	41 8b d7             	mov    %r15d,%edx
1402171d6:	4d 8b ce             	mov    %r14,%r9
1402171d9:	83 ca 04             	or     $0x4,%edx
1402171dc:	80 fb 02             	cmp    $0x2,%bl
1402171df:	41 0f 45 d7          	cmovne %r15d,%edx
1402171e3:	44 3b d0             	cmp    %eax,%r10d
1402171e6:	44 0f 4f d0          	cmovg  %eax,%r10d
1402171ea:	48 8d 45 ab          	lea    -0x55(%rbp),%rax
1402171ee:	45 8b c2             	mov    %r10d,%r8d
1402171f1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1402171f6:	e8 c5 d3 00 00       	call   0x1402245c0
1402171fb:	8b 7d ab             	mov    -0x55(%rbp),%edi
1402171fe:	4c 8b ac 24 b0 00 00 	mov    0xb0(%rsp),%r13
140217205:	00
140217206:	80 fb 02             	cmp    $0x2,%bl
140217209:	74 31                	je     0x14021723c
14021720b:	40 f6 c6 08          	test   $0x8,%sil
14021720f:	75 2b                	jne    0x14021723c
140217211:	49 8b 56 10          	mov    0x10(%r14),%rdx
140217215:	48 85 d2             	test   %rdx,%rdx
140217218:	74 1a                	je     0x140217234
14021721a:	49 8b 4e 08          	mov    0x8(%r14),%rcx
14021721e:	48 ff c9             	dec    %rcx
140217221:	48 03 ca             	add    %rdx,%rcx
140217224:	80 39 30             	cmpb   $0x30,(%rcx)
140217227:	75 0b                	jne    0x140217234
140217229:	48 ff c9             	dec    %rcx
14021722c:	ff c7                	inc    %edi
14021722e:	48 83 ea 01          	sub    $0x1,%rdx
140217232:	75 f0                	jne    0x140217224
140217234:	49 8b ce             	mov    %r14,%rcx
140217237:	e8 24 fe 00 00       	call   0x140227060
14021723c:	48 8b b4 24 c0 00 00 	mov    0xc0(%rsp),%rsi
140217243:	00
140217244:	8b c7                	mov    %edi,%eax
140217246:	48 8b bc 24 b8 00 00 	mov    0xb8(%rsp),%rdi
14021724d:	00
14021724e:	4c 8b bc 24 a8 00 00 	mov    0xa8(%rsp),%r15
140217255:	00
140217256:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
14021725a:	48 33 cc             	xor    %rsp,%rcx
14021725d:	e8 9e 42 c0 00       	call   0x140e1b500
140217262:	0f 28 b4 24 90 00 00 	movaps 0x90(%rsp),%xmm6
140217269:	00
14021726a:	48 81 c4 c8 00 00 00 	add    $0xc8,%rsp
140217271:	41 5e                	pop    %r14
140217273:	41 5c                	pop    %r12
140217275:	5b                   	pop    %rbx
140217276:	5d                   	pop    %rbp
140217277:	c3                   	ret
140217278:	32 d2                	xor    %dl,%dl
14021727a:	85 c9                	test   %ecx,%ecx
14021727c:	0f 85 12 ff ff ff    	jne    0x140217194
140217282:	b9 01 00 00 00       	mov    $0x1,%ecx
140217287:	e9 1d ff ff ff       	jmp    0x1402171a9
14021728c:	cc                   	int3
14021728d:	cc                   	int3
14021728e:	cc                   	int3
14021728f:	cc                   	int3
140217290:	40 53                	rex push %rbx
140217292:	56                   	push   %rsi
140217293:	57                   	push   %rdi
140217294:	41 57                	push   %r15
140217296:	48 83 ec 48          	sub    $0x48,%rsp
14021729a:	48 8b 05 5f 1c 1a 01 	mov    0x11a1c5f(%rip),%rax        # 0x1413b8f00
1402172a1:	48 33 c4             	xor    %rsp,%rax
1402172a4:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1402172a9:	48 8b da             	mov    %rdx,%rbx
1402172ac:	49 63 f1             	movslq %r9d,%rsi
1402172af:	4c 8b f9             	mov    %rcx,%r15
1402172b2:	8b d6                	mov    %esi,%edx
1402172b4:	48 8b cb             	mov    %rbx,%rcx
1402172b7:	49 8b f8             	mov    %r8,%rdi
1402172ba:	e8 b1 21 00 00       	call   0x140219470
1402172bf:	4c 8d 05 2a 73 d9 00 	lea    0xd9732a(%rip),%r8        # 0x140fae5f0
1402172c6:	48 85 c0             	test   %rax,%rax
1402172c9:	74 36                	je     0x140217301
1402172cb:	80 bc 24 90 00 00 00 	cmpb   $0x0,0x90(%rsp)
1402172d2:	00
1402172d3:	48 8d 14 06          	lea    (%rsi,%rax,1),%rdx
1402172d7:	48 8d 05 fa 72 d9 00 	lea    0xd972fa(%rip),%rax        # 0x140fae5d8
1402172de:	4c 0f 45 c0          	cmovne %rax,%r8
1402172e2:	48 8b cf             	mov    %rdi,%rcx
1402172e5:	48 8d 52 ff          	lea    -0x1(%rdx),%rdx
1402172e9:	83 e1 0f             	and    $0xf,%ecx
1402172ec:	48 c1 ef 04          	shr    $0x4,%rdi
1402172f0:	42 0f b6 0c 01       	movzbl (%rcx,%r8,1),%ecx
1402172f5:	88 0a                	mov    %cl,(%rdx)
1402172f7:	48 85 ff             	test   %rdi,%rdi
1402172fa:	75 e6                	jne    0x1402172e2
1402172fc:	e9 c0 00 00 00       	jmp    0x1402173c1
140217301:	48 89 6c 24 78       	mov    %rbp,0x78(%rsp)
140217306:	48 8d 05 cb 72 d9 00 	lea    0xd972cb(%rip),%rax        # 0x140fae5d8
14021730d:	48 8d 6c 24 20       	lea    0x20(%rsp),%rbp
140217312:	48 03 ee             	add    %rsi,%rbp
140217315:	80 bc 24 90 00 00 00 	cmpb   $0x0,0x90(%rsp)
14021731c:	00
14021731d:	48 8b cd             	mov    %rbp,%rcx
140217320:	4c 0f 45 c0          	cmovne %rax,%r8
140217324:	0f 1f 40 00          	nopl   0x0(%rax)
140217328:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14021732f:	00
140217330:	48 8b c7             	mov    %rdi,%rax
140217333:	48 8d 49 ff          	lea    -0x1(%rcx),%rcx
140217337:	83 e0 0f             	and    $0xf,%eax
14021733a:	48 c1 ef 04          	shr    $0x4,%rdi
14021733e:	42 0f b6 04 00       	movzbl (%rax,%r8,1),%eax
140217343:	88 01                	mov    %al,(%rcx)
140217345:	48 85 ff             	test   %rdi,%rdi
140217348:	75 e6                	jne    0x140217330
14021734a:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
14021734f:	48 8d 74 24 20       	lea    0x20(%rsp),%rsi
140217354:	48 3b c5             	cmp    %rbp,%rax
140217357:	74 63                	je     0x1402173bc
140217359:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14021735e:	66 90                	xchg   %ax,%ax
140217360:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140217364:	4c 8b f5             	mov    %rbp,%r14
140217367:	4c 2b f6             	sub    %rsi,%r14
14021736a:	49 03 d6             	add    %r14,%rdx
14021736d:	48 3b 53 18          	cmp    0x18(%rbx),%rdx
140217371:	76 12                	jbe    0x140217385
140217373:	0f ae e8             	lfence
140217376:	48 8b 03             	mov    (%rbx),%rax
140217379:	48 8b cb             	mov    %rbx,%rcx
14021737c:	48 8b 00             	mov    (%rax),%rax
14021737f:	ff 15 9b c6 d6 00    	call   *0xd6c69b(%rip)        # 0x140f83a20
140217385:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140217389:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
14021738d:	48 2b f9             	sub    %rcx,%rdi
140217390:	49 3b fe             	cmp    %r14,%rdi
140217393:	49 0f 43 fe          	cmovae %r14,%rdi
140217397:	48 85 ff             	test   %rdi,%rdi
14021739a:	74 0f                	je     0x1402173ab
14021739c:	48 03 4b 08          	add    0x8(%rbx),%rcx
1402173a0:	4c 8b c7             	mov    %rdi,%r8
1402173a3:	48 8b d6             	mov    %rsi,%rdx
1402173a6:	e8 65 7c cc 00       	call   0x140edf010
1402173ab:	48 01 7b 10          	add    %rdi,0x10(%rbx)
1402173af:	48 03 f7             	add    %rdi,%rsi
1402173b2:	48 3b f5             	cmp    %rbp,%rsi
1402173b5:	75 a9                	jne    0x140217360
1402173b7:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
1402173bc:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
1402173c1:	49 89 1f             	mov    %rbx,(%r15)
1402173c4:	49 8b c7             	mov    %r15,%rax
1402173c7:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1402173cc:	48 33 cc             	xor    %rsp,%rcx
1402173cf:	e8 2c 41 c0 00       	call   0x140e1b500
1402173d4:	48 83 c4 48          	add    $0x48,%rsp
1402173d8:	41 5f                	pop    %r15
1402173da:	5f                   	pop    %rdi
1402173db:	5e                   	pop    %rsi
1402173dc:	5b                   	pop    %rbx
1402173dd:	c3                   	ret
1402173de:	cc                   	int3
1402173df:	cc                   	int3
1402173e0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1402173e5:	57                   	push   %rdi
1402173e6:	48 83 ec 60          	sub    $0x60,%rsp
1402173ea:	48 8b 05 0f 1b 1a 01 	mov    0x11a1b0f(%rip),%rax        # 0x1413b8f00
1402173f1:	48 33 c4             	xor    %rsp,%rax
1402173f4:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1402173f9:	48 8b d9             	mov    %rcx,%rbx
1402173fc:	0f 57 c0             	xorps  %xmm0,%xmm0
1402173ff:	33 c0                	xor    %eax,%eax
140217401:	0f 11 01             	movups %xmm0,(%rcx)
140217404:	48 89 41 10          	mov    %rax,0x10(%rcx)
140217408:	48 8d 4a 08          	lea    0x8(%rdx),%rcx
14021740c:	48 8b d3             	mov    %rbx,%rdx
14021740f:	e8 9c e8 00 00       	call   0x140225cb0
140217414:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
140217418:	74 1e                	je     0x140217438
14021741a:	48 8b c3             	mov    %rbx,%rax
14021741d:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140217422:	48 33 cc             	xor    %rsp,%rcx
140217425:	e8 d6 40 c0 00       	call   0x140e1b500
14021742a:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140217431:	00
140217432:	48 83 c4 60          	add    $0x60,%rsp
140217436:	5f                   	pop    %rdi
140217437:	c3                   	ret
140217438:	48 8d 3d 61 c3 d8 00 	lea    0xd8c361(%rip),%rdi        # 0x140fa37a0
14021743f:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140217444:	0f 57 c0             	xorps  %xmm0,%xmm0
140217447:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
14021744c:	48 8d 05 6d 63 d9 00 	lea    0xd9636d(%rip),%rax        # 0x140fad7c0
140217453:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140217458:	c6 44 24 48 01       	movb   $0x1,0x48(%rsp)
14021745d:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140217462:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140217467:	e8 f4 52 c0 00       	call   0x140e1c760
14021746c:	48 8d 05 ad 5b d9 00 	lea    0xd95bad(%rip),%rax        # 0x140fad020
140217473:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140217478:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
14021747d:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
140217482:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140217487:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14021748c:	e8 3f 9d 00 00       	call   0x1402211d0
140217491:	48 8d 15 d8 a1 18 01 	lea    0x118a1d8(%rip),%rdx        # 0x1413a1670
140217498:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14021749d:	e8 76 53 c0 00       	call   0x140e1c818