140100f95:	48 63 48 04          	movslq 0x4(%rax),%rcx
140100f99:	48 83 c1 08          	add    $0x8,%rcx
140100f9d:	49 03 cc             	add    %r12,%rcx
140100fa0:	48 8b 01             	mov    (%rcx),%rax
140100fa3:	ff 10                	call   *(%rax)
140100fa5:	48 8d 55 a8          	lea    -0x58(%rbp),%rdx
140100fa9:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
140100fad:	e8 6e 3d 0a 00       	call   0x1401a4d20
140100fb2:	48 8b 18             	mov    (%rax),%rbx
140100fb5:	48 89 5d c8          	mov    %rbx,-0x38(%rbp)
140100fb9:	48 89 30             	mov    %rsi,(%rax)
140100fbc:	4d 85 e4             	test   %r12,%r12
140100fbf:	74 16                	je     0x140100fd7
140100fc1:	49 8b 46 08          	mov    0x8(%r14),%rax
140100fc5:	48 63 48 04          	movslq 0x4(%rax),%rcx
140100fc9:	48 83 c1 08          	add    $0x8,%rcx
140100fcd:	49 03 cc             	add    %r12,%rcx
140100fd0:	48 8b 01             	mov    (%rcx),%rax
140100fd3:	ff 50 08             	call   *0x8(%rax)
140100fd6:	90                   	nop
140100fd7:	48 85 ff             	test   %rdi,%rdi
140100fda:	74 0e                	je     0x140100fea
140100fdc:	48 8b 07             	mov    (%rdi),%rax
140100fdf:	ba 01 00 00 00       	mov    $0x1,%edx
140100fe4:	48 8b cf             	mov    %rdi,%rcx
140100fe7:	ff 10                	call   *(%rax)
140100fe9:	90                   	nop
140100fea:	48 8b 55 e8          	mov    -0x18(%rbp),%rdx
140100fee:	48 83 fa 0f          	cmp    $0xf,%rdx
140100ff2:	76 34                	jbe    0x140101028
140100ff4:	48 ff c2             	inc    %rdx
140100ff7:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
140100ffb:	48 8b c1             	mov    %rcx,%rax
140100ffe:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140101005:	72 1c                	jb     0x140101023
140101007:	48 83 c2 27          	add    $0x27,%rdx
14010100b:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14010100f:	48 2b c1             	sub    %rcx,%rax
140101012:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140101016:	48 83 f8 1f          	cmp    $0x1f,%rax
14010101a:	76 07                	jbe    0x140101023
14010101c:	ff 15 d6 8f 22 00    	call   *0x228fd6(%rip)        # 0x140329ff8
140101022:	cc                   	int3
140101023:	e8 5c 92 1f 00       	call   0x1402fa284
140101028:	48 89 75 e0          	mov    %rsi,-0x20(%rbp)
14010102c:	48 c7 45 e8 0f 00 00 	movq   $0xf,-0x18(%rbp)
140101033:	00
140101034:	c6 45 d0 00          	movb   $0x0,-0x30(%rbp)
140101038:	48 85 db             	test   %rbx,%rbx
14010103b:	74 5a                	je     0x140101097
14010103d:	48 89 5d a8          	mov    %rbx,-0x58(%rbp)
140101041:	48 8b 43 08          	mov    0x8(%rbx),%rax
140101045:	48 63 48 04          	movslq 0x4(%rax),%rcx
140101049:	48 83 c1 08          	add    $0x8,%rcx
14010104d:	48 03 cb             	add    %rbx,%rcx
140101050:	48 8b 01             	mov    (%rcx),%rax
140101053:	ff 10                	call   *(%rax)
140101055:	48 8d 4d a8          	lea    -0x58(%rbp),%rcx
140101059:	e8 12 41 00 00       	call   0x140105170
14010105e:	48 85 c0             	test   %rax,%rax
140101061:	74 34                	je     0x140101097
140101063:	48 8b c8             	mov    %rax,%rcx
140101066:	e8 b5 28 00 00       	call   0x140103920
14010106b:	48 8b f0             	mov    %rax,%rsi
14010106e:	48 85 c0             	test   %rax,%rax
140101071:	75 24                	jne    0x140101097
140101073:	49 83 7f 18 0f       	cmpq   $0xf,0x18(%r15)
140101078:	76 03                	jbe    0x14010107d
14010107a:	4d 8b 3f             	mov    (%r15),%r15
14010107d:	4d 8b cf             	mov    %r15,%r9
140101080:	4c 8d 05 c9 5f 23 00 	lea    0x235fc9(%rip),%r8        # 0x140337050
140101087:	ba 01 00 00 00       	mov    $0x1,%edx
14010108c:	b9 02 00 00 00       	mov    $0x2,%ecx
140101091:	e8 6a 8b fb ff       	call   0x1400b9c00
140101096:	90                   	nop
140101097:	48 85 db             	test   %rbx,%rbx
14010109a:	74 16                	je     0x1401010b2
14010109c:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401010a0:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401010a4:	48 83 c1 08          	add    $0x8,%rcx
1401010a8:	48 03 cb             	add    %rbx,%rcx
1401010ab:	48 8b 01             	mov    (%rcx),%rax
1401010ae:	ff 50 08             	call   *0x8(%rax)
1401010b1:	90                   	nop
1401010b2:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1401010b8:	48 8b d6             	mov    %rsi,%rdx
1401010bb:	49 8b cd             	mov    %r13,%rcx
1401010be:	ff 15 1c 8b 22 00    	call   *0x228b1c(%rip)        # 0x140329be0
1401010c4:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1401010c8:	48 33 cc             	xor    %rsp,%rcx
1401010cb:	e8 70 95 1f 00       	call   0x1402fa640
1401010d0:	48 8b 9c 24 d8 00 00 	mov    0xd8(%rsp),%rbx
1401010d7:	00
1401010d8:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1401010df:	41 5f                	pop    %r15
1401010e1:	41 5e                	pop    %r14
1401010e3:	41 5d                	pop    %r13
1401010e5:	41 5c                	pop    %r12
1401010e7:	5f                   	pop    %rdi
1401010e8:	5e                   	pop    %rsi
1401010e9:	5d                   	pop    %rbp
1401010ea:	c3                   	ret
1401010eb:	cc                   	int3
1401010ec:	cc                   	int3
1401010ed:	cc                   	int3
1401010ee:	cc                   	int3
1401010ef:	cc                   	int3
1401010f0:	4c 8b dc             	mov    %rsp,%r11
1401010f3:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1401010f7:	55                   	push   %rbp
1401010f8:	56                   	push   %rsi
1401010f9:	57                   	push   %rdi
1401010fa:	41 54                	push   %r12
1401010fc:	41 55                	push   %r13
1401010fe:	41 56                	push   %r14
140101100:	41 57                	push   %r15
140101102:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
140101109:	0f 29 74 24 70       	movaps %xmm6,0x70(%rsp)
14010110e:	0f 29 7c 24 60       	movaps %xmm7,0x60(%rsp)
140101113:	4d 8b e8             	mov    %r8,%r13
140101116:	0f 28 f1             	movaps %xmm1,%xmm6
140101119:	4c 8b f1             	mov    %rcx,%r14
14010111c:	0f 57 c0             	xorps  %xmm0,%xmm0
14010111f:	f3 0f 7f 44 24 48    	movdqu %xmm0,0x48(%rsp)
140101125:	33 ed                	xor    %ebp,%ebp
140101127:	48 89 ac 24 d8 00 00 	mov    %rbp,0xd8(%rsp)
14010112e:	00
14010112f:	49 89 6b a0          	mov    %rbp,-0x60(%r11)
140101133:	48 8b 81 e0 01 00 00 	mov    0x1e0(%rcx),%rax
14010113a:	49 89 43 08          	mov    %rax,0x8(%r11)
14010113e:	48 85 c0             	test   %rax,%rax
140101141:	74 2d                	je     0x140101170
140101143:	48 b9 ff ff ff ff ff 	movabs $0x3fffffffffffffff,%rcx
14010114a:	ff ff 3f
14010114d:	48 3b c1             	cmp    %rcx,%rax
140101150:	0f 87 8c 02 00 00    	ja     0x1401013e2
140101156:	49 8d 53 08          	lea    0x8(%r11),%rdx
14010115a:	49 8d 4b 90          	lea    -0x70(%r11),%rcx
14010115e:	e8 7d f0 fd ff       	call   0x1400e01e0
140101163:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140101168:	48 89 ac 24 d8 00 00 	mov    %rbp,0xd8(%rsp)
14010116f:	00
140101170:	49 8b be d8 01 00 00 	mov    0x1d8(%r14),%rdi
140101177:	48 8b 1f             	mov    (%rdi),%rbx
14010117a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14010117f:	48 3b df             	cmp    %rdi,%rbx
140101182:	74 40                	je     0x1401011c4
140101184:	4c 8d 43 10          	lea    0x10(%rbx),%r8
140101188:	48 3b f5             	cmp    %rbp,%rsi
14010118b:	74 10                	je     0x14010119d
14010118d:	41 8b 00             	mov    (%r8),%eax
140101190:	89 06                	mov    %eax,(%rsi)
140101192:	48 83 c6 04          	add    $0x4,%rsi
140101196:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
14010119b:	eb 17                	jmp    0x1401011b4
14010119d:	48 8b d6             	mov    %rsi,%rdx
1401011a0:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1401011a5:	e8 a6 e9 fd ff       	call   0x1400dfb50
1401011aa:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1401011af:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1401011b4:	48 8b 1b             	mov    (%rbx),%rbx
1401011b7:	48 3b df             	cmp    %rdi,%rbx
1401011ba:	75 c8                	jne    0x140101184
1401011bc:	48 89 ac 24 d8 00 00 	mov    %rbp,0xd8(%rsp)
1401011c3:	00
1401011c4:	4c 8b c6             	mov    %rsi,%r8
1401011c7:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
1401011cc:	4d 2b c4             	sub    %r12,%r8
1401011cf:	49 c1 f8 02          	sar    $0x2,%r8
1401011d3:	45 33 c9             	xor    %r9d,%r9d
1401011d6:	48 8b d6             	mov    %rsi,%rdx
1401011d9:	49 8b cc             	mov    %r12,%rcx
1401011dc:	e8 6f 21 ff ff       	call   0x1400f3350
1401011e1:	49 8b fc             	mov    %r12,%rdi
1401011e4:	4c 3b e6             	cmp    %rsi,%r12
1401011e7:	0f 84 90 01 00 00    	je     0x14010137d
1401011ed:	48 bd 00 00 00 00 00 	movabs $0x8000000000000000,%rbp
1401011f4:	00 00 80
1401011f7:	f2 0f 10 3d 99 d2 22 	movsd  0x22d299(%rip),%xmm7        # 0x14032e498
1401011fe:	00
1401011ff:	90                   	nop
140101200:	8b 07                	mov    (%rdi),%eax
140101202:	89 84 24 c0 00 00 00 	mov    %eax,0xc0(%rsp)
140101209:	4c 8d 84 24 c0 00 00 	lea    0xc0(%rsp),%r8
140101210:	00
140101211:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140101216:	49 8d 8e d0 01 00 00 	lea    0x1d0(%r14),%rcx
14010121d:	e8 2e 25 ff ff       	call   0x1400f3750
140101222:	48 8b 08             	mov    (%rax),%rcx
140101225:	48 8b 59 18          	mov    0x18(%rcx),%rbx
140101229:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14010122e:	48 85 db             	test   %rbx,%rbx
140101231:	74 15                	je     0x140101248
140101233:	48 8b 43 08          	mov    0x8(%rbx),%rax
140101237:	48 63 48 04          	movslq 0x4(%rax),%rcx
14010123b:	48 83 c1 08          	add    $0x8,%rcx
14010123f:	48 03 cb             	add    %rbx,%rcx
140101242:	48 8b 01             	mov    (%rcx),%rax
140101245:	ff 10                	call   *(%rax)
140101247:	90                   	nop
140101248:	66 41 0f 2f b6 18 02 	comisd 0x218(%r14),%xmm6
14010124f:	00 00
140101251:	41 0f 92 c7          	setb   %r15b
140101255:	45 84 ff             	test   %r15b,%r15b
140101258:	74 10                	je     0x14010126a
14010125a:	0f 28 d6             	movaps %xmm6,%xmm2
14010125d:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140101262:	49 8b ce             	mov    %r14,%rcx
140101265:	e8 f6 af 02 00       	call   0x14012c260
14010126a:	0f 28 d7             	movaps %xmm7,%xmm2
14010126d:	f2 41 0f 5e 55 20    	divsd  0x20(%r13),%xmm2
140101273:	41 0f b7 45 28       	movzwl 0x28(%r13),%eax
140101278:	66 0f 6e c0          	movd   %eax,%xmm0
14010127c:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
140101280:	f2 0f 59 c2          	mulsd  %xmm2,%xmm0
140101284:	f2 48 0f 2c c8       	cvttsd2si %xmm0,%rcx
140101289:	0f 57 c9             	xorps  %xmm1,%xmm1
14010128c:	48 3b cd             	cmp    %rbp,%rcx
14010128f:	74 27                	je     0x1401012b8
140101291:	0f 57 c9             	xorps  %xmm1,%xmm1
140101294:	f2 48 0f 2a c9       	cvtsi2sd %rcx,%xmm1
140101299:	66 0f 2e c8          	ucomisd %xmm0,%xmm1
14010129d:	74 19                	je     0x1401012b8
14010129f:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
1401012a3:	66 0f 50 c0          	movmskpd %xmm0,%eax
1401012a7:	83 e0 01             	and    $0x1,%eax
1401012aa:	83 f0 01             	xor    $0x1,%eax
1401012ad:	48 03 c8             	add    %rax,%rcx
1401012b0:	0f 57 c0             	xorps  %xmm0,%xmm0
1401012b3:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
1401012b8:	f2 44 0f 2c c0       	cvttsd2si %xmm0,%r8d
1401012bd:	41 0f b7 45 2a       	movzwl 0x2a(%r13),%eax
1401012c2:	66 0f 6e c8          	movd   %eax,%xmm1
1401012c6:	f3 0f e6 c9          	cvtdq2pd %xmm1,%xmm1
1401012ca:	f2 0f 59 ca          	mulsd  %xmm2,%xmm1
1401012ce:	f2 48 0f 2c c9       	cvttsd2si %xmm1,%rcx
1401012d3:	0f 57 c0             	xorps  %xmm0,%xmm0
1401012d6:	48 3b cd             	cmp    %rbp,%rcx
1401012d9:	74 27                	je     0x140101302
1401012db:	0f 57 c0             	xorps  %xmm0,%xmm0
1401012de:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
1401012e3:	66 0f 2e c1          	ucomisd %xmm1,%xmm0
1401012e7:	74 19                	je     0x140101302
1401012e9:	66 0f 14 c9          	unpcklpd %xmm1,%xmm1
1401012ed:	66 0f 50 c1          	movmskpd %xmm1,%eax
1401012f1:	83 e0 01             	and    $0x1,%eax
1401012f4:	83 f0 01             	xor    $0x1,%eax
1401012f7:	48 03 c8             	add    %rax,%rcx
1401012fa:	0f 57 c9             	xorps  %xmm1,%xmm1
1401012fd:	f2 48 0f 2a c9       	cvtsi2sd %rcx,%xmm1
140101302:	f2 44 0f 2c c9       	cvttsd2si %xmm1,%r9d
140101307:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
14010130c:	8b 94 24 c0 00 00 00 	mov    0xc0(%rsp),%edx
140101313:	49 8b 8e 98 02 00 00 	mov    0x298(%r14),%rcx
14010131a:	e8 31 33 02 00       	call   0x140124650
14010131f:	45 84 ff             	test   %r15b,%r15b
140101322:	75 10                	jne    0x140101334
140101324:	0f 28 d6             	movaps %xmm6,%xmm2
140101327:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14010132c:	49 8b ce             	mov    %r14,%rcx
14010132f:	e8 2c af 02 00       	call   0x14012c260
140101334:	8b 94 24 c0 00 00 00 	mov    0xc0(%rsp),%edx
14010133b:	49 8b 8e 98 02 00 00 	mov    0x298(%r14),%rcx
140101342:	e8 29 0b 00 00       	call   0x140101e70
140101347:	90                   	nop
140101348:	48 85 db             	test   %rbx,%rbx
14010134b:	74 16                	je     0x140101363
14010134d:	48 8b 43 08          	mov    0x8(%rbx),%rax
140101351:	48 63 48 04          	movslq 0x4(%rax),%rcx
140101355:	48 83 c1 08          	add    $0x8,%rcx
140101359:	48 03 cb             	add    %rbx,%rcx
14010135c:	48 8b 01             	mov    (%rcx),%rax
14010135f:	ff 50 08             	call   *0x8(%rax)
140101362:	90                   	nop
140101363:	48 83 c7 04          	add    $0x4,%rdi
140101367:	48 3b fe             	cmp    %rsi,%rdi
14010136a:	0f 85 90 fe ff ff    	jne    0x140101200
140101370:	48 8b ac 24 d8 00 00 	mov    0xd8(%rsp),%rbp
140101377:	00
140101378:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
14010137d:	4d 85 e4             	test   %r12,%r12
140101380:	74 3b                	je     0x1401013bd
140101382:	49 2b ec             	sub    %r12,%rbp
140101385:	48 83 e5 fc          	and    $0xfffffffffffffffc,%rbp
140101389:	49 8b c4             	mov    %r12,%rax
14010138c:	48 81 fd 00 10 00 00 	cmp    $0x1000,%rbp
140101393:	72 1d                	jb     0x1401013b2
140101395:	48 83 c5 27          	add    $0x27,%rbp
140101399:	4d 8b 64 24 f8       	mov    -0x8(%r12),%r12
14010139e:	49 2b c4             	sub    %r12,%rax
1401013a1:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1401013a5:	48 83 f8 1f          	cmp    $0x1f,%rax
1401013a9:	76 07                	jbe    0x1401013b2
1401013ab:	ff 15 47 8c 22 00    	call   *0x228c47(%rip)        # 0x140329ff8
1401013b1:	cc                   	int3
1401013b2:	48 8b d5             	mov    %rbp,%rdx
1401013b5:	49 8b cc             	mov    %r12,%rcx
1401013b8:	e8 c7 8e 1f 00       	call   0x1402fa284
1401013bd:	48 8b 9c 24 c8 00 00 	mov    0xc8(%rsp),%rbx
1401013c4:	00
1401013c5:	0f 28 74 24 70       	movaps 0x70(%rsp),%xmm6
1401013ca:	0f 28 7c 24 60       	movaps 0x60(%rsp),%xmm7
1401013cf:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1401013d6:	41 5f                	pop    %r15
1401013d8:	41 5e                	pop    %r14
1401013da:	41 5d                	pop    %r13
1401013dc:	41 5c                	pop    %r12
1401013de:	5f                   	pop    %rdi
1401013df:	5e                   	pop    %rsi
1401013e0:	5d                   	pop    %rbp
1401013e1:	c3                   	ret
1401013e2:	e8 f9 01 fc ff       	call   0x1400c15e0
1401013e7:	90                   	nop
1401013e8:	cc                   	int3
1401013e9:	cc                   	int3
1401013ea:	cc                   	int3
1401013eb:	cc                   	int3
1401013ec:	cc                   	int3
1401013ed:	cc                   	int3
1401013ee:	cc                   	int3
1401013ef:	cc                   	int3
1401013f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401013f5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401013fa:	55                   	push   %rbp
1401013fb:	56                   	push   %rsi
1401013fc:	57                   	push   %rdi
1401013fd:	41 54                	push   %r12
1401013ff:	41 55                	push   %r13
140101401:	41 56                	push   %r14
140101403:	41 57                	push   %r15
140101405:	48 8d 6c 24 90       	lea    -0x70(%rsp),%rbp
14010140a:	48 81 ec 70 01 00 00 	sub    $0x170,%rsp
140101411:	4c 8b e2             	mov    %rdx,%r12
140101414:	48 8b f1             	mov    %rcx,%rsi
140101417:	33 db                	xor    %ebx,%ebx
140101419:	89 9d c0 00 00 00    	mov    %ebx,0xc0(%rbp)
14010141f:	0f 57 c0             	xorps  %xmm0,%xmm0
140101422:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
140101428:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
14010142d:	48 8b 09             	mov    (%rcx),%rcx
140101430:	48 8b 01             	mov    (%rcx),%rax
140101433:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140101438:	ff 90 98 00 00 00    	call   *0x98(%rax)
14010143e:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
140101443:	4c 8b 6c 24 40       	mov    0x40(%rsp),%r13
140101448:	49 3b fd             	cmp    %r13,%rdi
14010144b:	0f 84 8e 01 00 00    	je     0x1401015df
140101451:	f6 c3 01             	test   $0x1,%bl
140101454:	74 0d                	je     0x140101463
140101456:	83 e3 fe             	and    $0xfffffffe,%ebx