1401160eb:	75 df                	jne    0x1401160cc
1401160ed:	21 ca                	and    %ecx,%edx
1401160ef:	48 83 c0 40          	add    $0x40,%rax
1401160f3:	89 50 c0             	mov    %edx,-0x40(%rax)
1401160f6:	4c 39 c0             	cmp    %r8,%rax
1401160f9:	75 e3                	jne    0x1401160de
1401160fb:	40 84 ff             	test   %dil,%dil
1401160fe:	0f 84 c9 0b 00 00    	je     0x140116ccd
140116104:	8b 44 24 74          	mov    0x74(%rsp),%eax
140116108:	44 8b 25 a9 b7 0d 00 	mov    0xdb7a9(%rip),%r12d        # 0x1401f18b8
14011610f:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
140116114:	31 f6                	xor    %esi,%esi
140116116:	44 89 ac 24 e8 02 00 	mov    %r13d,0x2e8(%rsp)
14011611d:	00
14011611e:	45 89 f7             	mov    %r14d,%r15d
140116121:	41 89 fe             	mov    %edi,%r14d
140116124:	89 c3                	mov    %eax,%ebx
140116126:	44 89 64 24 48       	mov    %r12d,0x48(%rsp)
14011612b:	f7 d3                	not    %ebx
14011612d:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
140116131:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140116136:	48 8d 53 40          	lea    0x40(%rbx),%rdx
14011613a:	48 89 df             	mov    %rbx,%rdi
14011613d:	48 89 94 24 a0 00 00 	mov    %rdx,0xa0(%rsp)
140116144:	00
140116145:	8b 54 24 70          	mov    0x70(%rsp),%edx
140116149:	8d 6a 01             	lea    0x1(%rdx),%ebp
14011614c:	41 89 d4             	mov    %edx,%r12d
14011614f:	89 6c 24 78          	mov    %ebp,0x78(%rsp)
140116153:	8b 6c 24 50          	mov    0x50(%rsp),%ebp
140116157:	41 89 f5             	mov    %esi,%r13d
14011615a:	89 c2                	mov    %eax,%edx
14011615c:	8d 5e 01             	lea    0x1(%rsi),%ebx
14011615f:	4d 89 e8             	mov    %r13,%r8
140116162:	49 c1 e0 06          	shl    $0x6,%r8
140116166:	49 01 f8             	add    %rdi,%r8
140116169:	41 23 50 34          	and    0x34(%r8),%edx
14011616d:	0f 85 e3 0b 00 00    	jne    0x140116d56
140116173:	41 39 dc             	cmp    %ebx,%r12d
140116176:	0f 82 41 0b 00 00    	jb     0x140116cbd
14011617c:	89 de                	mov    %ebx,%esi
14011617e:	eb d7                	jmp    0x140116157
140116180:	41 8d 4f 01          	lea    0x1(%r15),%ecx
140116184:	89 4c 24 48          	mov    %ecx,0x48(%rsp)
140116188:	8b 4c 24 48          	mov    0x48(%rsp),%ecx
14011618c:	39 ca                	cmp    %ecx,%edx
14011618e:	0f 8f cf fe ff ff    	jg     0x140116063
140116194:	8b 94 24 b8 00 00 00 	mov    0xb8(%rsp),%edx
14011619b:	85 d2                	test   %edx,%edx
14011619d:	0f 85 e1 0a 00 00    	jne    0x140116c84
1401161a3:	48 8d 94 24 10 02 00 	lea    0x210(%rsp),%rdx
1401161aa:	00
1401161ab:	48 89 84 24 f0 00 00 	mov    %rax,0xf0(%rsp)
1401161b2:	00
1401161b3:	4c 8d bc 24 e0 01 00 	lea    0x1e0(%rsp),%r15
1401161ba:	00
1401161bb:	48 89 94 24 50 01 00 	mov    %rdx,0x150(%rsp)
1401161c2:	00
1401161c3:	48 8d 94 24 b0 01 00 	lea    0x1b0(%rsp),%rdx
1401161ca:	00
1401161cb:	48 89 94 24 48 01 00 	mov    %rdx,0x148(%rsp)
1401161d2:	00
1401161d3:	48 8d 94 24 84 01 00 	lea    0x184(%rsp),%rdx
1401161da:	00
1401161db:	48 89 94 24 40 01 00 	mov    %rdx,0x140(%rsp)
1401161e2:	00
1401161e3:	48 8d 94 24 b4 01 00 	lea    0x1b4(%rsp),%rdx
1401161ea:	00
1401161eb:	48 89 94 24 30 01 00 	mov    %rdx,0x130(%rsp)
1401161f2:	00
1401161f3:	48 8d 94 24 14 02 00 	lea    0x214(%rsp),%rdx
1401161fa:	00
1401161fb:	48 89 94 24 38 01 00 	mov    %rdx,0x138(%rsp)
140116202:	00
140116203:	48 8d 94 24 90 01 00 	lea    0x190(%rsp),%rdx
14011620a:	00
14011620b:	48 89 94 24 20 01 00 	mov    %rdx,0x120(%rsp)
140116212:	00
140116213:	48 8d 94 24 a0 01 00 	lea    0x1a0(%rsp),%rdx
14011621a:	00
14011621b:	48 89 94 24 28 01 00 	mov    %rdx,0x128(%rsp)
140116222:	00
140116223:	44 89 94 24 fc 00 00 	mov    %r10d,0xfc(%rsp)
14011622a:	00
14011622b:	48 89 b4 24 58 01 00 	mov    %rsi,0x158(%rsp)
140116232:	00
140116233:	44 89 a4 24 f0 02 00 	mov    %r12d,0x2f0(%rsp)
14011623a:	00
14011623b:	45 89 ec             	mov    %r13d,%r12d
14011623e:	44 89 f1             	mov    %r14d,%ecx
140116241:	b8 01 00 00 00       	mov    $0x1,%eax
140116246:	48 8b 94 24 80 00 00 	mov    0x80(%rsp),%rdx
14011624d:	00
14011624e:	4c 8b 8c 24 40 01 00 	mov    0x140(%rsp),%r9
140116255:	00
140116256:	d3 e0                	shl    %cl,%eax
140116258:	89 84 24 dc 00 00 00 	mov    %eax,0xdc(%rsp)
14011625f:	89 c6                	mov    %eax,%esi
140116261:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140116266:	44 8b aa 18 07 00 00 	mov    0x718(%rdx),%r13d
14011626d:	48 8b 8a f0 07 00 00 	mov    0x7f0(%rdx),%rcx
140116274:	48 89 fa             	mov    %rdi,%rdx
140116277:	48 8b 40 08          	mov    0x8(%rax),%rax
14011627b:	44 89 ac 24 bc 00 00 	mov    %r13d,0xbc(%rsp)
140116282:	00
140116283:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140116288:	48 8b 84 24 c0 00 00 	mov    0xc0(%rsp),%rax
14011628f:	00
140116290:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140116295:	44 8b 47 fc          	mov    -0x4(%rdi),%r8d
140116299:	e8 c2 ee ff ff       	call   0x140115160
14011629e:	66 0f ef c0          	pxor   %xmm0,%xmm0
1401162a2:	49 c7 47 20 00 00 00 	movq   $0x0,0x20(%r15)
1401162a9:	00
1401162aa:	48 8b 94 24 20 01 00 	mov    0x120(%rsp),%rdx
1401162b1:	00
1401162b2:	48 89 84 24 a0 01 00 	mov    %rax,0x1a0(%rsp)
1401162b9:	00
1401162ba:	8b 84 24 84 01 00 00 	mov    0x184(%rsp),%eax
1401162c1:	4c 8d 0d 78 f7 ff ff 	lea    -0x888(%rip),%r9        # 0x140115a40
1401162c8:	4c 8d 05 c1 ed ff ff 	lea    -0x123f(%rip),%r8        # 0x140115090
1401162cf:	41 0f 11 07          	movups %xmm0,(%r15)
1401162d3:	48 8b 8c 24 28 01 00 	mov    0x128(%rsp),%rcx
1401162da:	00
1401162db:	89 84 24 a8 01 00 00 	mov    %eax,0x1a8(%rsp)
1401162e2:	48 8b 84 24 30 01 00 	mov    0x130(%rsp),%rax
1401162e9:	00
1401162ea:	41 0f 11 47 10       	movups %xmm0,0x10(%r15)
1401162ef:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%rax)
1401162f6:	0f 11 00             	movups %xmm0,(%rax)
1401162f9:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1401162fd:	48 8b 84 24 38 01 00 	mov    0x138(%rsp),%rax
140116304:	00
140116305:	44 89 ac 24 b0 01 00 	mov    %r13d,0x1b0(%rsp)
14011630c:	00
14011630d:	0f 11 00             	movups %xmm0,(%rax)
140116310:	0f 11 40 1c          	movups %xmm0,0x1c(%rax)
140116314:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140116319:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14011631e:	48 89 84 24 30 02 00 	mov    %rax,0x230(%rsp)
140116325:	00
140116326:	48 8b 84 24 48 01 00 	mov    0x148(%rsp),%rax
14011632d:	00
14011632e:	44 89 b4 24 2c 02 00 	mov    %r14d,0x22c(%rsp)
140116335:	00
140116336:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14011633b:	48 8b 84 24 50 01 00 	mov    0x150(%rsp),%rax
140116342:	00
140116343:	89 b4 24 24 02 00 00 	mov    %esi,0x224(%rsp)
14011634a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14011634f:	c7 84 24 10 02 00 00 	movl   $0x1,0x210(%rsp)
140116356:	01 00 00 00
14011635a:	44 89 a4 24 28 02 00 	mov    %r12d,0x228(%rsp)
140116361:	00
140116362:	e8 69 cd 09 00       	call   0x1401b30d0
140116367:	41 89 c6             	mov    %eax,%r14d
14011636a:	85 c0                	test   %eax,%eax
14011636c:	0f 85 30 19 00 00    	jne    0x140117ca2
140116372:	48 8b 8c 24 a0 01 00 	mov    0x1a0(%rsp),%rcx
140116379:	00
14011637a:	e8 31 2b fe ff       	call   0x1400f8eb0
14011637f:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140116384:	4c 8d 14 ad 00 00 00 	lea    0x0(,%rbp,4),%r10
14011638b:	00
14011638c:	c7 84 24 d8 00 00 00 	movl   $0x0,0xd8(%rsp)
140116393:	00 00 00 00
140116397:	4c 89 94 24 00 01 00 	mov    %r10,0x100(%rsp)
14011639e:	00
14011639f:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1401163a5:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
1401163ac:	00
1401163ad:	45 89 cd             	mov    %r9d,%r13d
1401163b0:	48 89 bc 24 60 01 00 	mov    %rdi,0x160(%rsp)
1401163b7:	00
1401163b8:	48 89 ac 24 68 01 00 	mov    %rbp,0x168(%rsp)
1401163bf:	00
1401163c0:	44 89 b4 24 74 01 00 	mov    %r14d,0x174(%rsp)
1401163c7:	00
1401163c8:	44 89 a4 24 e8 02 00 	mov    %r12d,0x2e8(%rsp)
1401163cf:	00
1401163d0:	4c 89 bc 24 78 01 00 	mov    %r15,0x178(%rsp)
1401163d7:	00
1401163d8:	48 8b bc 24 98 00 00 	mov    0x98(%rsp),%rdi
1401163df:	00
1401163e0:	48 8b b4 24 00 01 00 	mov    0x100(%rsp),%rsi
1401163e7:	00
1401163e8:	48 8b 47 38          	mov    0x38(%rdi),%rax
1401163ec:	44 89 2c 30          	mov    %r13d,(%rax,%rsi,1)
1401163f0:	48 89 f8             	mov    %rdi,%rax
1401163f3:	48 8b 7f 10          	mov    0x10(%rdi),%rdi
1401163f7:	48 8b 28             	mov    (%rax),%rbp
1401163fa:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140116401:	00
140116402:	48 85 ff             	test   %rdi,%rdi
140116405:	0f 84 03 02 00 00    	je     0x14011660e
14011640b:	44 8b 60 20          	mov    0x20(%rax),%r12d
14011640f:	48 85 ed             	test   %rbp,%rbp
140116412:	0f 84 47 08 00 00    	je     0x140116c5f
140116418:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
14011641f:	00
140116420:	48 63 70 08          	movslq 0x8(%rax),%rsi
140116424:	89 74 24 78          	mov    %esi,0x78(%rsp)
140116428:	83 fe ff             	cmp    $0xffffffff,%esi
14011642b:	0f 84 8f 18 00 00    	je     0x140117cc0
140116431:	48 83 c6 01          	add    $0x1,%rsi
140116435:	ba 08 00 00 00       	mov    $0x8,%edx
14011643a:	48 89 f1             	mov    %rsi,%rcx
14011643d:	e8 5e 48 fb ff       	call   0x1400caca0
140116442:	ba 08 00 00 00       	mov    $0x8,%edx
140116447:	48 89 f1             	mov    %rsi,%rcx
14011644a:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
140116451:	00
140116452:	e8 49 48 fb ff       	call   0x1400caca0
140116457:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
14011645e:	00
14011645f:	8b 44 24 78          	mov    0x78(%rsp),%eax
140116463:	85 c0                	test   %eax,%eax
140116465:	0f 88 35 0c 00 00    	js     0x1401170a0
14011646b:	49 63 f4             	movslq %r12d,%rsi
14011646e:	41 83 fc ff          	cmp    $0xffffffff,%r12d
140116472:	0f 84 48 18 00 00    	je     0x140117cc0
140116478:	31 ff                	xor    %edi,%edi
14011647a:	4c 8b bc 24 a8 00 00 	mov    0xa8(%rsp),%r15
140116481:	00
140116482:	48 83 c6 01          	add    $0x1,%rsi
140116486:	49 89 fe             	mov    %rdi,%r14
140116489:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
140116490:	00
140116491:	ba 04 00 00 00       	mov    $0x4,%edx
140116496:	48 89 f1             	mov    %rsi,%rcx
140116499:	e8 02 48 fb ff       	call   0x1400caca0
14011649e:	ba 04 00 00 00       	mov    $0x4,%edx
1401164a3:	48 89 f1             	mov    %rsi,%rcx
1401164a6:	4b 89 04 f7          	mov    %rax,(%r15,%r14,8)
1401164aa:	e8 f1 47 fb ff       	call   0x1400caca0
1401164af:	4a 89 04 f7          	mov    %rax,(%rdi,%r14,8)
1401164b3:	49 83 c6 01          	add    $0x1,%r14
1401164b7:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
1401164bd:	44 39 74 24 78       	cmp    %r14d,0x78(%rsp)
1401164c2:	7d cd                	jge    0x140116491
1401164c4:	45 85 e4             	test   %r12d,%r12d
1401164c7:	0f 8e a0 0b 00 00    	jle    0x14011706d
1401164cd:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
1401164d4:	00
1401164d5:	41 8d 4c 24 ff       	lea    -0x1(%r12),%ecx
1401164da:	83 e1 01             	and    $0x1,%ecx
1401164dd:	48 8b 10             	mov    (%rax),%rdx
1401164e0:	b8 02 00 00 00       	mov    $0x2,%eax
1401164e5:	c7 42 04 02 00 00 00 	movl   $0x2,0x4(%rdx)
1401164ec:	41 83 fc 02          	cmp    $0x2,%r12d
1401164f0:	7c 2e                	jl     0x140116520
1401164f2:	85 c9                	test   %ecx,%ecx
1401164f4:	74 12                	je     0x140116508
1401164f6:	c7 42 08 02 00 00 00 	movl   $0x2,0x8(%rdx)
1401164fd:	b8 03 00 00 00       	mov    $0x3,%eax
140116502:	41 83 fc 03          	cmp    $0x3,%r12d
140116506:	7c 18                	jl     0x140116520
140116508:	c7 04 82 02 00 00 00 	movl   $0x2,(%rdx,%rax,4)
14011650f:	c7 44 82 04 02 00 00 	movl   $0x2,0x4(%rdx,%rax,4)
140116516:	00
140116517:	48 83 c0 02          	add    $0x2,%rax
14011651b:	41 39 c4             	cmp    %eax,%r12d
14011651e:	7d e8                	jge    0x140116508
140116520:	8b 44 24 78          	mov    0x78(%rsp),%eax
140116524:	85 c0                	test   %eax,%eax
140116526:	0f 8e ce 0c 00 00    	jle    0x1401171fa
14011652c:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140116533:	00
140116534:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
14011653b:	00
14011653c:	4c 8d 78 08          	lea    0x8(%rax),%r15
140116540:	8b 44 24 78          	mov    0x78(%rsp),%eax
140116544:	4c 8d 5f 08          	lea    0x8(%rdi),%r11
140116548:	83 e8 01             	sub    $0x1,%eax
14011654b:	48 8d 4c c7 10       	lea    0x10(%rdi,%rax,8),%rcx
140116550:	41 8d 44 24 ff       	lea    -0x1(%r12),%eax
140116555:	48 89 ef             	mov    %rbp,%rdi
140116558:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
14011655f:	00
140116560:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140116565:	45 85 e4             	test   %r12d,%r12d
140116568:	0f 8f a2 01 00 00    	jg     0x140116710
14011656e:	48 8b 07             	mov    (%rdi),%rax
140116571:	48 85 c0             	test   %rax,%rax
140116574:	48 0f 45 f8          	cmovne %rax,%rdi
140116578:	49 83 c3 08          	add    $0x8,%r11
14011657c:	49 83 c7 08          	add    $0x8,%r15
140116580:	4c 39 d9             	cmp    %r11,%rcx
140116583:	75 e0                	jne    0x140116565
140116585:	48 8b b4 24 88 00 00 	mov    0x88(%rsp),%rsi
14011658c:	00
14011658d:	48 89 f8             	mov    %rdi,%rax
140116590:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140116596:	e9 85 05 00 00       	jmp    0x140116b20
14011659b:	48 83 bc 24 88 00 00 	cmpq   $0x0,0x88(%rsp)
1401165a2:	00 00
1401165a4:	74 18                	je     0x1401165be
1401165a6:	48 8b b4 24 88 00 00 	mov    0x88(%rsp),%rsi
1401165ad:	00
1401165ae:	48 89 f1             	mov    %rsi,%rcx
1401165b1:	48 8b 36             	mov    (%rsi),%rsi
1401165b4:	e8 f7 28 fe ff       	call   0x1400f8eb0
1401165b9:	48 85 f6             	test   %rsi,%rsi
1401165bc:	75 f0                	jne    0x1401165ae
1401165be:	44 8b 44 24 78       	mov    0x78(%rsp),%r8d
1401165c3:	31 f6                	xor    %esi,%esi
1401165c5:	45 85 c0             	test   %r8d,%r8d
1401165c8:	78 1d                	js     0x1401165e7
1401165ca:	8b 7c 24 78          	mov    0x78(%rsp),%edi
1401165ce:	4c 8b a4 24 b0 00 00 	mov    0xb0(%rsp),%r12
1401165d5:	00
1401165d6:	49 8b 0c f4          	mov    (%r12,%rsi,8),%rcx
1401165da:	48 83 c6 01          	add    $0x1,%rsi
1401165de:	e8 cd 28 fe ff       	call   0x1400f8eb0
1401165e3:	39 f7                	cmp    %esi,%edi
1401165e5:	7d ef                	jge    0x1401165d6
1401165e7:	48 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%rcx
1401165ee:	00
1401165ef:	e8 bc 28 fe ff       	call   0x1400f8eb0
1401165f4:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
1401165fb:	00
1401165fc:	66 0f ef c0          	pxor   %xmm0,%xmm0
140116600:	48 89 28             	mov    %rbp,(%rax)
140116603:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%rax)
14011660a:	0f 11 40 10          	movups %xmm0,0x10(%rax)
14011660e:	48 85 ed             	test   %rbp,%rbp
140116611:	74 22                	je     0x140116635
140116613:	8b 94 24 dc 00 00 00 	mov    0xdc(%rsp),%edx
14011661a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140116620:	8b 45 14             	mov    0x14(%rbp),%eax
140116623:	48 8b 6d 00          	mov    0x0(%rbp),%rbp
140116627:	21 d0                	and    %edx,%eax
140116629:	83 f8 01             	cmp    $0x1,%eax
14011662c:	41 83 dd ff          	sbb    $0xffffffff,%r13d
140116630:	48 85 ed             	test   %rbp,%rbp
140116633:	75 eb                	jne    0x140116620
140116635:	8b 7c 24 70          	mov    0x70(%rsp),%edi
140116639:	39 bc 24 d8 00 00 00 	cmp    %edi,0xd8(%rsp)
140116640:	73 19                	jae    0x14011665b
140116642:	48 8b bc 24 98 00 00 	mov    0x98(%rsp),%rdi
140116649:	00
14011664a:	8b 84 24 dc 00 00 00 	mov    0xdc(%rsp),%eax
140116651:	23 47 34             	and    0x34(%rdi),%eax
140116654:	83 f8 01             	cmp    $0x1,%eax
140116657:	41 83 d5 00          	adc    $0x0,%r13d
14011665b:	83 84 24 d8 00 00 00 	addl   $0x1,0xd8(%rsp)
140116662:	01
140116663:	8b 84 24 d8 00 00 00 	mov    0xd8(%rsp),%eax
14011666a:	48 83 84 24 98 00 00 	addq   $0x40,0x98(%rsp)
140116671:	00 40