140c8730f:	49 3b c2             	cmp    %r10,%rax
140c87312:	75 04                	jne    0x140c87318
140c87314:	4c 8b 50 10          	mov    0x10(%rax),%r10
140c87318:	48 8b 50 18          	mov    0x18(%rax),%rdx
140c8731c:	48 85 d2             	test   %rdx,%rdx
140c8731f:	74 08                	je     0x140c87329
140c87321:	48 8b 48 10          	mov    0x10(%rax),%rcx
140c87325:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
140c87329:	48 8b 50 10          	mov    0x10(%rax),%rdx
140c8732d:	48 85 d2             	test   %rdx,%rdx
140c87330:	74 08                	je     0x140c8733a
140c87332:	48 8b 48 18          	mov    0x18(%rax),%rcx
140c87336:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
140c8733a:	49 89 41 10          	mov    %rax,0x10(%r9)
140c8733e:	4c 89 48 18          	mov    %r9,0x18(%rax)
140c87342:	4c 8b c8             	mov    %rax,%r9
140c87345:	48 c7 40 10 00 00 00 	movq   $0x0,0x10(%rax)
140c8734c:	00
140c8734d:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%rax)
140c87354:	e9 6e 01 00 00       	jmp    0x140c874c7
140c87359:	83 fb 04             	cmp    $0x4,%ebx
140c8735c:	75 56                	jne    0x140c873b4
140c8735e:	83 78 08 00          	cmpl   $0x0,0x8(%rax)
140c87362:	0f 84 5f 01 00 00    	je     0x140c874c7
140c87368:	49 3b c1             	cmp    %r9,%rax
140c8736b:	0f 84 56 01 00 00    	je     0x140c874c7
140c87371:	49 3b c2             	cmp    %r10,%rax
140c87374:	75 04                	jne    0x140c8737a
140c87376:	4c 8b 50 10          	mov    0x10(%rax),%r10
140c8737a:	48 8b 50 18          	mov    0x18(%rax),%rdx
140c8737e:	48 85 d2             	test   %rdx,%rdx
140c87381:	74 08                	je     0x140c8738b
140c87383:	48 8b 48 10          	mov    0x10(%rax),%rcx
140c87387:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
140c8738b:	48 8b 50 10          	mov    0x10(%rax),%rdx
140c8738f:	48 85 d2             	test   %rdx,%rdx
140c87392:	74 08                	je     0x140c8739c
140c87394:	48 8b 48 18          	mov    0x18(%rax),%rcx
140c87398:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
140c8739c:	49 89 41 10          	mov    %rax,0x10(%r9)
140c873a0:	4c 89 48 18          	mov    %r9,0x18(%rax)
140c873a4:	4c 8b c8             	mov    %rax,%r9
140c873a7:	48 c7 40 10 00 00 00 	movq   $0x0,0x10(%rax)
140c873ae:	00
140c873af:	e9 13 01 00 00       	jmp    0x140c874c7
140c873b4:	83 fb 03             	cmp    $0x3,%ebx
140c873b7:	75 61                	jne    0x140c8741a
140c873b9:	83 78 08 00          	cmpl   $0x0,0x8(%rax)
140c873bd:	0f 84 04 01 00 00    	je     0x140c874c7
140c873c3:	49 3b c2             	cmp    %r10,%rax
140c873c6:	74 46                	je     0x140c8740e
140c873c8:	49 3b c1             	cmp    %r9,%rax
140c873cb:	75 04                	jne    0x140c873d1
140c873cd:	4c 8b 48 18          	mov    0x18(%rax),%r9
140c873d1:	48 8b 50 10          	mov    0x10(%rax),%rdx
140c873d5:	48 85 d2             	test   %rdx,%rdx
140c873d8:	74 08                	je     0x140c873e2
140c873da:	48 8b 48 18          	mov    0x18(%rax),%rcx
140c873de:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
140c873e2:	48 8b 50 18          	mov    0x18(%rax),%rdx
140c873e6:	48 85 d2             	test   %rdx,%rdx
140c873e9:	74 08                	je     0x140c873f3
140c873eb:	48 8b 48 10          	mov    0x10(%rax),%rcx
140c873ef:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
140c873f3:	49 89 42 18          	mov    %rax,0x18(%r10)
140c873f7:	45 33 c0             	xor    %r8d,%r8d
140c873fa:	4c 89 50 10          	mov    %r10,0x10(%rax)
140c873fe:	4c 8b d0             	mov    %rax,%r10
140c87401:	4c 89 40 18          	mov    %r8,0x18(%rax)
140c87405:	44 89 40 08          	mov    %r8d,0x8(%rax)
140c87409:	e9 b9 00 00 00       	jmp    0x140c874c7
140c8740e:	45 33 c0             	xor    %r8d,%r8d
140c87411:	44 89 40 08          	mov    %r8d,0x8(%rax)
140c87415:	e9 ad 00 00 00       	jmp    0x140c874c7
140c8741a:	83 fb 06             	cmp    $0x6,%ebx
140c8741d:	75 53                	jne    0x140c87472
140c8741f:	83 78 08 00          	cmpl   $0x0,0x8(%rax)
140c87423:	0f 84 9e 00 00 00    	je     0x140c874c7
140c87429:	49 3b c2             	cmp    %r10,%rax
140c8742c:	0f 84 95 00 00 00    	je     0x140c874c7
140c87432:	49 3b c1             	cmp    %r9,%rax
140c87435:	75 04                	jne    0x140c8743b
140c87437:	4c 8b 48 18          	mov    0x18(%rax),%r9
140c8743b:	48 8b 50 10          	mov    0x10(%rax),%rdx
140c8743f:	48 85 d2             	test   %rdx,%rdx
140c87442:	74 08                	je     0x140c8744c
140c87444:	48 8b 48 18          	mov    0x18(%rax),%rcx
140c87448:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
140c8744c:	48 8b 50 18          	mov    0x18(%rax),%rdx
140c87450:	48 85 d2             	test   %rdx,%rdx
140c87453:	74 08                	je     0x140c8745d
140c87455:	48 8b 48 10          	mov    0x10(%rax),%rcx
140c87459:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
140c8745d:	49 89 42 18          	mov    %rax,0x18(%r10)
140c87461:	4c 89 50 10          	mov    %r10,0x10(%rax)
140c87465:	4c 8b d0             	mov    %rax,%r10
140c87468:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
140c8746f:	00
140c87470:	eb 55                	jmp    0x140c874c7
140c87472:	83 fb 02             	cmp    $0x2,%ebx
140c87475:	75 50                	jne    0x140c874c7
140c87477:	49 8b 50 10          	mov    0x10(%r8),%rdx
140c8747b:	4c 3b d0             	cmp    %rax,%r10
140c8747e:	75 05                	jne    0x140c87485
140c87480:	4c 8b d2             	mov    %rdx,%r10
140c87483:	eb 0c                	jmp    0x140c87491
140c87485:	48 8b 48 18          	mov    0x18(%rax),%rcx
140c87489:	48 89 51 10          	mov    %rdx,0x10(%rcx)
140c8748d:	49 8b 50 10          	mov    0x10(%r8),%rdx
140c87491:	4c 3b c8             	cmp    %rax,%r9
140c87494:	75 04                	jne    0x140c8749a
140c87496:	4c 8b 48 18          	mov    0x18(%rax),%r9
140c8749a:	45 33 c0             	xor    %r8d,%r8d
140c8749d:	44 89 40 08          	mov    %r8d,0x8(%rax)
140c874a1:	48 85 d2             	test   %rdx,%rdx
140c874a4:	74 08                	je     0x140c874ae
140c874a6:	48 8b 48 18          	mov    0x18(%rax),%rcx
140c874aa:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
140c874ae:	48 8b 50 18          	mov    0x18(%rax),%rdx
140c874b2:	48 85 d2             	test   %rdx,%rdx
140c874b5:	74 08                	je     0x140c874bf
140c874b7:	48 8b 48 10          	mov    0x10(%rax),%rcx
140c874bb:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
140c874bf:	4c 89 40 10          	mov    %r8,0x10(%rax)
140c874c3:	4c 89 40 18          	mov    %r8,0x18(%rax)
140c874c7:	48 8b 0c 24          	mov    (%rsp),%rcx
140c874cb:	48 3b 84 24 98 00 00 	cmp    0x98(%rsp),%rax
140c874d2:	00
140c874d3:	0f 85 67 fd ff ff    	jne    0x140c87240
140c874d9:	4c 8b 64 24 18       	mov    0x18(%rsp),%r12
140c874de:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140c874e3:	4c 8b 7c 24 10       	mov    0x10(%rsp),%r15
140c874e8:	4c 89 16             	mov    %r10,(%rsi)
140c874eb:	4d 89 0e             	mov    %r9,(%r14)
140c874ee:	48 83 c4 20          	add    $0x20,%rsp
140c874f2:	41 5e                	pop    %r14
140c874f4:	41 5d                	pop    %r13
140c874f6:	5e                   	pop    %rsi
140c874f7:	5d                   	pop    %rbp
140c874f8:	5b                   	pop    %rbx
140c874f9:	c3                   	ret
140c874fa:	4c 89 16             	mov    %r10,(%rsi)
140c874fd:	4d 89 0e             	mov    %r9,(%r14)
140c87500:	48 83 c4 20          	add    $0x20,%rsp
140c87504:	41 5e                	pop    %r14
140c87506:	41 5d                	pop    %r13
140c87508:	5e                   	pop    %rsi
140c87509:	5d                   	pop    %rbp
140c8750a:	5b                   	pop    %rbx
140c8750b:	c3                   	ret
140c8750c:	cc                   	int3
140c8750d:	cc                   	int3
140c8750e:	cc                   	int3
140c8750f:	cc                   	int3
140c87510:	85 d2                	test   %edx,%edx
140c87512:	0f 8e 16 03 00 00    	jle    0x140c8782e
140c87518:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140c8751d:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
140c87522:	55                   	push   %rbp
140c87523:	56                   	push   %rsi
140c87524:	57                   	push   %rdi
140c87525:	41 56                	push   %r14
140c87527:	41 57                	push   %r15
140c87529:	b8 50 00 00 00       	mov    $0x50,%eax
140c8752e:	e8 6d 3f 19 00       	call   0x140e1b4a0
140c87533:	48 2b e0             	sub    %rax,%rsp
140c87536:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
140c8753d:	00
140c8753e:	33 f6                	xor    %esi,%esi
140c87540:	0f 29 74 24 30       	movaps %xmm6,0x30(%rsp)
140c87545:	44 8b fa             	mov    %edx,%r15d
140c87548:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
140c8754f:	00
140c87550:	4c 8b f1             	mov    %rcx,%r14
140c87553:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
140c87558:	33 ed                	xor    %ebp,%ebp
140c8755a:	44 8b a4 24 a8 00 00 	mov    0xa8(%rsp),%r12d
140c87561:	00
140c87562:	48 8d 5f 18          	lea    0x18(%rdi),%rbx
140c87566:	66 48 0f 6e f7       	movq   %rdi,%xmm6
140c8756b:	4c 89 6c 24 40       	mov    %r13,0x40(%rsp)
140c87570:	44 8b ac 24 a0 00 00 	mov    0xa0(%rsp),%r13d
140c87577:	00
140c87578:	8b bc 24 98 00 00 00 	mov    0x98(%rsp),%edi
140c8757f:	66 0f 6c f6          	punpcklqdq %xmm6,%xmm6
140c87583:	0f 1f 40 00          	nopl   0x0(%rax)
140c87587:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140c8758e:	00 00
140c87590:	49 8b 86 b0 00 00 00 	mov    0xb0(%r14),%rax
140c87597:	8b cd                	mov    %ebp,%ecx
140c87599:	ff 15 81 c4 2f 00    	call   *0x2fc481(%rip)        # 0x140f83a20
140c8759f:	48 85 c0             	test   %rax,%rax
140c875a2:	74 5b                	je     0x140c875ff
140c875a4:	83 38 00             	cmpl   $0x0,(%rax)
140c875a7:	74 56                	je     0x140c875ff
140c875a9:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
140c875b0:	85 48 1c             	test   %ecx,0x1c(%rax)
140c875b3:	75 4a                	jne    0x140c875ff
140c875b5:	85 78 20             	test   %edi,0x20(%rax)
140c875b8:	75 45                	jne    0x140c875ff
140c875ba:	44 85 68 24          	test   %r13d,0x24(%rax)
140c875be:	75 3f                	jne    0x140c875ff
140c875c0:	44 85 60 28          	test   %r12d,0x28(%rax)
140c875c4:	75 39                	jne    0x140c875ff
140c875c6:	49 8b 8e c0 00 00 00 	mov    0xc0(%r14),%rcx
140c875cd:	f6 41 60 08          	testb  $0x8,0x60(%rcx)
140c875d1:	75 06                	jne    0x140c875d9
140c875d3:	83 78 2c 00          	cmpl   $0x0,0x2c(%rax)
140c875d7:	eb 04                	jmp    0x140c875dd
140c875d9:	83 78 34 00          	cmpl   $0x0,0x34(%rax)
140c875dd:	74 20                	je     0x140c875ff
140c875df:	ff c6                	inc    %esi
140c875e1:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
140c875e5:	48 c7 43 f8 00 00 00 	movq   $0x0,-0x8(%rbx)
140c875ec:	00
140c875ed:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
140c875f4:	c7 43 f0 00 00 00 00 	movl   $0x0,-0x10(%rbx)
140c875fb:	48 83 c3 20          	add    $0x20,%rbx
140c875ff:	ff c5                	inc    %ebp
140c87601:	41 3b ef             	cmp    %r15d,%ebp
140c87604:	7c 8a                	jl     0x140c87590
140c87606:	4c 8b 6c 24 40       	mov    0x40(%rsp),%r13
140c8760b:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140c87610:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140c87617:	00
140c87618:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
140c8761f:	00
140c87620:	85 f6                	test   %esi,%esi
140c87622:	0f 8e f6 01 00 00    	jle    0x140c8781e
140c87628:	48 c7 47 18 00 00 00 	movq   $0x0,0x18(%rdi)
140c8762f:	00
140c87630:	44 8b d6             	mov    %esi,%r10d
140c87633:	83 fe 01             	cmp    $0x1,%esi
140c87636:	0f 8e b6 01 00 00    	jle    0x140c877f2
140c8763c:	48 8d 47 20          	lea    0x20(%rdi),%rax
140c87640:	ba 01 00 00 00       	mov    $0x1,%edx
140c87645:	8d 4e ff             	lea    -0x1(%rsi),%ecx
140c87648:	48 89 47 10          	mov    %rax,0x10(%rdi)
140c8764c:	8d 41 ff             	lea    -0x1(%rcx),%eax
140c8764f:	3b ca                	cmp    %edx,%ecx
140c87651:	0f 8e 2b 01 00 00    	jle    0x140c87782
140c87657:	83 f8 04             	cmp    $0x4,%eax
140c8765a:	0f 82 22 01 00 00    	jb     0x140c87782
140c87660:	83 3d f1 18 73 00 02 	cmpl   $0x2,0x7318f1(%rip)        # 0x1413b8f58
140c87667:	0f 8c 15 01 00 00    	jl     0x140c87782
140c8766d:	0f 29 7c 24 20       	movaps %xmm7,0x20(%rsp)
140c87672:	66 0f 6f 3d e6 50 32 	movdqa 0x3250e6(%rip),%xmm7        # 0x140fac760
140c87679:	00
140c8767a:	25 03 00 00 80       	and    $0x80000003,%eax
140c8767f:	7d 07                	jge    0x140c87688
140c87681:	ff c8                	dec    %eax
140c87683:	83 c8 fc             	or     $0xfffffffc,%eax
140c87686:	ff c0                	inc    %eax
140c87688:	66 0f 6f 2d b0 a7 35 	movdqa 0x35a7b0(%rip),%xmm5        # 0x140fe1e40
140c8768f:	00
140c87690:	4c 8d 47 50          	lea    0x50(%rdi),%r8
140c87694:	2b c8                	sub    %eax,%ecx
140c87696:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140c8769d:	00 00 00
140c876a0:	66 0f 6e da          	movd   %edx,%xmm3
140c876a4:	8d 42 02             	lea    0x2(%rdx),%eax
140c876a7:	66 0f 70 db 00       	pshufd $0x0,%xmm3,%xmm3
140c876ac:	4d 8d 80 80 00 00 00 	lea    0x80(%r8),%r8
140c876b3:	f3 0f 7e e7          	movq   %xmm7,%xmm4
140c876b7:	f3 0f 7e c5          	movq   %xmm5,%xmm0
140c876bb:	66 0f fe dc          	paddd  %xmm4,%xmm3
140c876bf:	83 c2 04             	add    $0x4,%edx
140c876c2:	66 0f 6f cb          	movdqa %xmm3,%xmm1
140c876c6:	66 0f fa c8          	psubd  %xmm0,%xmm1
140c876ca:	f3 0f 7e c5          	movq   %xmm5,%xmm0
140c876ce:	66 0f fe d8          	paddd  %xmm0,%xmm3
140c876d2:	f3 0f 7e c5          	movq   %xmm5,%xmm0
140c876d6:	66 0f 38 25 d1       	pmovsxdq %xmm1,%xmm2
140c876db:	66 0f 73 f2 05       	psllq  $0x5,%xmm2
140c876e0:	66 0f d4 d6          	paddq  %xmm6,%xmm2
140c876e4:	66 41 0f d6 90 68 ff 	movq   %xmm2,-0x98(%r8)
140c876eb:	ff ff
140c876ed:	66 0f 73 da 08       	psrldq $0x8,%xmm2
140c876f2:	66 41 0f d6 50 88    	movq   %xmm2,-0x78(%r8)
140c876f8:	66 0f 38 25 cb       	pmovsxdq %xmm3,%xmm1
140c876fd:	66 0f 73 f1 05       	psllq  $0x5,%xmm1
140c87702:	66 0f 6e d8          	movd   %eax,%xmm3
140c87706:	66 0f d4 ce          	paddq  %xmm6,%xmm1
140c8770a:	66 41 0f d6 88 60 ff 	movq   %xmm1,-0xa0(%r8)
140c87711:	ff ff
140c87713:	66 0f 73 d9 08       	psrldq $0x8,%xmm1
140c87718:	66 41 0f d6 48 80    	movq   %xmm1,-0x80(%r8)
140c8771e:	66 0f 70 db 00       	pshufd $0x0,%xmm3,%xmm3
140c87723:	66 0f fe dc          	paddd  %xmm4,%xmm3
140c87727:	66 0f 6f cb          	movdqa %xmm3,%xmm1
140c8772b:	66 0f fa c8          	psubd  %xmm0,%xmm1
140c8772f:	f3 0f 7e c5          	movq   %xmm5,%xmm0
140c87733:	66 0f fe d8          	paddd  %xmm0,%xmm3
140c87737:	66 0f 38 25 d1       	pmovsxdq %xmm1,%xmm2
140c8773c:	66 0f 73 f2 05       	psllq  $0x5,%xmm2
140c87741:	66 0f d4 d6          	paddq  %xmm6,%xmm2
140c87745:	66 41 0f d6 50 a8    	movq   %xmm2,-0x58(%r8)
140c8774b:	66 0f 73 da 08       	psrldq $0x8,%xmm2
140c87750:	66 41 0f d6 50 c8    	movq   %xmm2,-0x38(%r8)
140c87756:	66 0f 38 25 cb       	pmovsxdq %xmm3,%xmm1
140c8775b:	66 0f 73 f1 05       	psllq  $0x5,%xmm1
140c87760:	66 0f d4 ce          	paddq  %xmm6,%xmm1
140c87764:	66 41 0f d6 48 a0    	movq   %xmm1,-0x60(%r8)
140c8776a:	66 0f 73 d9 08       	psrldq $0x8,%xmm1
140c8776f:	66 41 0f d6 48 c0    	movq   %xmm1,-0x40(%r8)
140c87775:	3b d1                	cmp    %ecx,%edx
140c87777:	0f 8c 23 ff ff ff    	jl     0x140c876a0
140c8777d:	0f 28 7c 24 20       	movaps 0x20(%rsp),%xmm7
140c87782:	4d 63 da             	movslq %r10d,%r11
140c87785:	49 ff cb             	dec    %r11
140c87788:	48 63 ca             	movslq %edx,%rcx
140c8778b:	49 3b cb             	cmp    %r11,%rcx
140c8778e:	7d 4b                	jge    0x140c877db
140c87790:	4c 8b c1             	mov    %rcx,%r8
140c87793:	ff c2                	inc    %edx
140c87795:	49 c1 e0 05          	shl    $0x5,%r8
140c87799:	4d 8b cb             	mov    %r11,%r9
140c8779c:	49 83 c0 10          	add    $0x10,%r8
140c877a0:	4c 03 c7             	add    %rdi,%r8
140c877a3:	4c 2b c9             	sub    %rcx,%r9
140c877a6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140c877ad:	00 00 00
140c877b0:	8d 42 fe             	lea    -0x2(%rdx),%eax
140c877b3:	48 63 c8             	movslq %eax,%rcx
140c877b6:	4d 8d 40 20          	lea    0x20(%r8),%r8
140c877ba:	48 63 c2             	movslq %edx,%rax
140c877bd:	ff c2                	inc    %edx
140c877bf:	48 c1 e0 05          	shl    $0x5,%rax
140c877c3:	48 c1 e1 05          	shl    $0x5,%rcx
140c877c7:	48 03 c7             	add    %rdi,%rax
140c877ca:	48 03 cf             	add    %rdi,%rcx
140c877cd:	49 89 40 e0          	mov    %rax,-0x20(%r8)
140c877d1:	49 89 48 e8          	mov    %rcx,-0x18(%r8)
140c877d5:	49 83 e9 01          	sub    $0x1,%r9
140c877d9:	75 d5                	jne    0x140c877b0
140c877db:	41 8d 42 fe          	lea    -0x2(%r10),%eax
140c877df:	48 63 c8             	movslq %eax,%rcx
140c877e2:	48 c1 e1 05          	shl    $0x5,%rcx
140c877e6:	48 03 cf             	add    %rdi,%rcx
140c877e9:	49 c1 e3 05          	shl    $0x5,%r11
140c877ed:	49 89 4c 3b 18       	mov    %rcx,0x18(%r11,%rdi,1)
140c877f2:	48 8b 84 24 b8 00 00 	mov    0xb8(%rsp),%rax
140c877f9:	00
140c877fa:	49 63 ca             	movslq %r10d,%rcx
140c877fd:	48 c1 e1 05          	shl    $0x5,%rcx
140c87801:	48 83 c1 e0          	add    $0xffffffffffffffe0,%rcx
140c87805:	48 03 cf             	add    %rdi,%rcx
140c87808:	48 c7 41 10 00 00 00 	movq   $0x0,0x10(%rcx)
140c8780f:	00
140c87810:	48 89 38             	mov    %rdi,(%rax)