1401863fa:	48 3b c1             	cmp    %rcx,%rax
1401863fd:	75 1a                	jne    0x140186419
1401863ff:	48 8d 97 18 01 00 00 	lea    0x118(%rdi),%rdx
140186406:	4c 8b c6             	mov    %rsi,%r8
140186409:	48 8d 8f 08 01 00 00 	lea    0x108(%rdi),%rcx
140186410:	e8 8b 53 ff ff       	call   0x14017b7a0
140186415:	85 c0                	test   %eax,%eax
140186417:	74 80                	je     0x140186399
140186419:	48 8b 06             	mov    (%rsi),%rax
14018641c:	0f 57 c9             	xorps  %xmm1,%xmm1
14018641f:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140186424:	0f 11 00             	movups %xmm0,(%rax)
140186427:	0f 10 03             	movups (%rbx),%xmm0
14018642a:	0f 11 48 10          	movups %xmm1,0x10(%rax)
14018642e:	0f 28 4c 24 60       	movaps 0x60(%rsp),%xmm1
140186433:	0f 11 40 20          	movups %xmm0,0x20(%rax)
140186437:	0f 28 44 24 50       	movaps 0x50(%rsp),%xmm0
14018643c:	0f 11 40 30          	movups %xmm0,0x30(%rax)
140186440:	0f 11 48 40          	movups %xmm1,0x40(%rax)
140186444:	e9 b7 00 00 00       	jmp    0x140186500
140186449:	4c 8d b7 18 01 00 00 	lea    0x118(%rdi),%r14
140186450:	48 3b c1             	cmp    %rcx,%rax
140186453:	75 1a                	jne    0x14018646f
140186455:	48 8d 8f 08 01 00 00 	lea    0x108(%rdi),%rcx
14018645c:	4c 8b c6             	mov    %rsi,%r8
14018645f:	49 8b d6             	mov    %r14,%rdx
140186462:	e8 39 53 ff ff       	call   0x14017b7a0
140186467:	85 c0                	test   %eax,%eax
140186469:	0f 84 2a ff ff ff    	je     0x140186399
14018646f:	4c 8b 87 28 01 00 00 	mov    0x128(%rdi),%r8
140186476:	49 8b c7             	mov    %r15,%rax
140186479:	48 8b 0e             	mov    (%rsi),%rcx
14018647c:	49 2b c0             	sub    %r8,%rax
14018647f:	49 2b 0e             	sub    (%r14),%rcx
140186482:	4c 8d 0c 80          	lea    (%rax,%rax,4),%r9
140186486:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
14018648d:	66 66 66
140186490:	48 f7 e9             	imul   %rcx
140186493:	49 c1 e1 04          	shl    $0x4,%r9
140186497:	4d 03 0e             	add    (%r14),%r9
14018649a:	48 c1 fa 05          	sar    $0x5,%rdx
14018649e:	48 8b c2             	mov    %rdx,%rax
1401864a1:	48 c1 e8 3f          	shr    $0x3f,%rax
1401864a5:	48 03 d0             	add    %rax,%rdx
1401864a8:	49 8d 49 50          	lea    0x50(%r9),%rcx
1401864ac:	49 2b d7             	sub    %r15,%rdx
1401864af:	49 03 d0             	add    %r8,%rdx
1401864b2:	4c 8d 04 92          	lea    (%rdx,%rdx,4),%r8
1401864b6:	49 8b d1             	mov    %r9,%rdx
1401864b9:	49 c1 e0 04          	shl    $0x4,%r8
1401864bd:	e8 6c 65 17 00       	call   0x1402fca2e
1401864c2:	4c 2b bf 28 01 00 00 	sub    0x128(%rdi),%r15
1401864c9:	0f 57 c9             	xorps  %xmm1,%xmm1
1401864cc:	49 8b 06             	mov    (%r14),%rax
1401864cf:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1401864d4:	4b 8d 0c bf          	lea    (%r15,%r15,4),%rcx
1401864d8:	48 03 c9             	add    %rcx,%rcx
1401864db:	0f 11 04 c8          	movups %xmm0,(%rax,%rcx,8)
1401864df:	0f 10 03             	movups (%rbx),%xmm0
1401864e2:	0f 11 4c c8 10       	movups %xmm1,0x10(%rax,%rcx,8)
1401864e7:	0f 28 4c 24 60       	movaps 0x60(%rsp),%xmm1
1401864ec:	0f 11 44 c8 20       	movups %xmm0,0x20(%rax,%rcx,8)
1401864f1:	0f 28 44 24 50       	movaps 0x50(%rsp),%xmm0
1401864f6:	0f 11 44 c8 30       	movups %xmm0,0x30(%rax,%rcx,8)
1401864fb:	0f 11 4c c8 40       	movups %xmm1,0x40(%rax,%rcx,8)
140186500:	48 83 06 50          	addq   $0x50,(%rsi)
140186504:	b8 01 00 00 00       	mov    $0x1,%eax
140186509:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
14018650e:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140186512:	49 8b 6b 28          	mov    0x28(%r11),%rbp
140186516:	49 8b 73 30          	mov    0x30(%r11),%rsi
14018651a:	49 8b e3             	mov    %r11,%rsp
14018651d:	41 5f                	pop    %r15
14018651f:	41 5e                	pop    %r14
140186521:	5f                   	pop    %rdi
140186522:	c3                   	ret
140186523:	cc                   	int3
140186524:	cc                   	int3
140186525:	cc                   	int3
140186526:	cc                   	int3
140186527:	cc                   	int3
140186528:	cc                   	int3
140186529:	cc                   	int3
14018652a:	cc                   	int3
14018652b:	cc                   	int3
14018652c:	cc                   	int3
14018652d:	cc                   	int3
14018652e:	cc                   	int3
14018652f:	cc                   	int3
140186530:	48 83 ec 58          	sub    $0x58,%rsp
140186534:	83 b9 00 01 00 00 00 	cmpl   $0x0,0x100(%rcx)
14018653b:	4c 8b c1             	mov    %rcx,%r8
14018653e:	75 17                	jne    0x140186557
140186540:	48 63 81 50 01 00 00 	movslq 0x150(%rcx),%rax
140186547:	48 3b 81 f0 00 00 00 	cmp    0xf0(%rcx),%rax
14018654e:	75 07                	jne    0x140186557
140186550:	b8 01 00 00 00       	mov    $0x1,%eax
140186555:	eb 02                	jmp    0x140186559
140186557:	33 c0                	xor    %eax,%eax
140186559:	83 b9 54 01 00 00 00 	cmpl   $0x0,0x154(%rcx)
140186560:	74 7c                	je     0x1401865de
140186562:	48 8b 89 20 01 00 00 	mov    0x120(%rcx),%rcx
140186569:	49 2b 88 18 01 00 00 	sub    0x118(%r8),%rcx
140186570:	41 0f 10 90 e0 00 00 	movups 0xe0(%r8),%xmm2
140186577:	00
140186578:	89 44 24 24          	mov    %eax,0x24(%rsp)
14018657c:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140186583:	66 66 66
140186586:	f2 41 0f 10 98 f0 00 	movsd  0xf0(%r8),%xmm3
14018658d:	00 00
14018658f:	48 f7 e9             	imul   %rcx
140186592:	49 8b c8             	mov    %r8,%rcx
140186595:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
14018659c:	00
14018659d:	48 c1 fa 05          	sar    $0x5,%rdx
1401865a1:	48 8b c2             	mov    %rdx,%rax
1401865a4:	48 c1 e8 3f          	shr    $0x3f,%rax
1401865a8:	48 03 d0             	add    %rax,%rdx
1401865ab:	49 03 90 28 01 00 00 	add    0x128(%r8),%rdx
1401865b2:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
1401865b7:	e8 d4 fc ff ff       	call   0x140186290
1401865bc:	85 c0                	test   %eax,%eax
1401865be:	75 05                	jne    0x1401865c5
1401865c0:	48 83 c4 58          	add    $0x58,%rsp
1401865c4:	c3                   	ret
1401865c5:	49 8b 88 68 01 00 00 	mov    0x168(%r8),%rcx
1401865cc:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
1401865d1:	0f 11 41 d8          	movups %xmm0,-0x28(%rcx)
1401865d5:	0f 11 51 e8          	movups %xmm2,-0x18(%rcx)
1401865d9:	f2 0f 11 59 f8       	movsd  %xmm3,-0x8(%rcx)
1401865de:	b8 01 00 00 00       	mov    $0x1,%eax
1401865e3:	48 83 c4 58          	add    $0x58,%rsp
1401865e7:	c3                   	ret
1401865e8:	cc                   	int3
1401865e9:	cc                   	int3
1401865ea:	cc                   	int3
1401865eb:	cc                   	int3
1401865ec:	cc                   	int3
1401865ed:	cc                   	int3
1401865ee:	cc                   	int3
1401865ef:	cc                   	int3
1401865f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401865f5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1401865fa:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1401865ff:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140186604:	55                   	push   %rbp
140186605:	41 56                	push   %r14
140186607:	41 57                	push   %r15
140186609:	48 8b ec             	mov    %rsp,%rbp
14018660c:	48 83 ec 60          	sub    $0x60,%rsp
140186610:	48 8b d9             	mov    %rcx,%rbx
140186613:	0f 29 74 24 50       	movaps %xmm6,0x50(%rsp)
140186618:	45 33 ff             	xor    %r15d,%r15d
14018661b:	0f 29 7c 24 40       	movaps %xmm7,0x40(%rsp)
140186620:	0f 57 c0             	xorps  %xmm0,%xmm0
140186623:	4c 89 7d d0          	mov    %r15,-0x30(%rbp)
140186627:	b9 10 00 00 00       	mov    $0x10,%ecx
14018662c:	41 8b f7             	mov    %r15d,%esi
14018662f:	f3 0f 7f 45 c0       	movdqu %xmm0,-0x40(%rbp)
140186634:	45 8b f0             	mov    %r8d,%r14d
140186637:	48 8b fa             	mov    %rdx,%rdi
14018663a:	e8 11 4a ff ff       	call   0x14017b050
14018663f:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140186643:	48 85 c0             	test   %rax,%rax
140186646:	0f 84 17 03 00 00    	je     0x140186963
14018664c:	48 8d 48 10          	lea    0x10(%rax),%rcx
140186650:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140186654:	48 89 4d c8          	mov    %rcx,-0x38(%rbp)
140186658:	0f 57 c0             	xorps  %xmm0,%xmm0
14018665b:	0f 11 00             	movups %xmm0,(%rax)
14018665e:	48 8b 93 a8 00 00 00 	mov    0xa8(%rbx),%rdx
140186665:	0f 10 b3 e0 00 00 00 	movups 0xe0(%rbx),%xmm6
14018666c:	48 ff ca             	dec    %rdx
14018666f:	4c 8b 83 98 00 00 00 	mov    0x98(%rbx),%r8
140186676:	f2 0f 10 bb f0 00 00 	movsd  0xf0(%rbx),%xmm7
14018667d:	00
14018667e:	48 ff 83 e0 00 00 00 	incq   0xe0(%rbx)
140186685:	48 ff 83 f0 00 00 00 	incq   0xf0(%rbx)
14018668c:	48 89 93 a8 00 00 00 	mov    %rdx,0xa8(%rbx)
140186693:	41 0f b6 08          	movzbl (%r8),%ecx
140186697:	84 c9                	test   %cl,%cl
140186699:	78 07                	js     0x1401866a2
14018669b:	b8 01 00 00 00       	mov    $0x1,%eax
1401866a0:	eb 33                	jmp    0x1401866d5
1401866a2:	0f b6 c1             	movzbl %cl,%eax
1401866a5:	24 e0                	and    $0xe0,%al
1401866a7:	3c c0                	cmp    $0xc0,%al
1401866a9:	75 07                	jne    0x1401866b2
1401866ab:	b8 02 00 00 00       	mov    $0x2,%eax
1401866b0:	eb 23                	jmp    0x1401866d5
1401866b2:	0f b6 c1             	movzbl %cl,%eax
1401866b5:	24 f0                	and    $0xf0,%al
1401866b7:	3c e0                	cmp    $0xe0,%al
1401866b9:	75 07                	jne    0x1401866c2
1401866bb:	b8 03 00 00 00       	mov    $0x3,%eax
1401866c0:	eb 13                	jmp    0x1401866d5
1401866c2:	80 e1 f8             	and    $0xf8,%cl
1401866c5:	49 8b c7             	mov    %r15,%rax
1401866c8:	80 f9 f0             	cmp    $0xf0,%cl
1401866cb:	41 b9 04 00 00 00    	mov    $0x4,%r9d
1401866d1:	49 0f 44 c1          	cmove  %r9,%rax
1401866d5:	49 03 c0             	add    %r8,%rax
1401866d8:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
1401866df:	48 83 fa 01          	cmp    $0x1,%rdx
1401866e3:	73 15                	jae    0x1401866fa
1401866e5:	ba 01 00 00 00       	mov    $0x1,%edx
1401866ea:	48 8b cb             	mov    %rbx,%rcx
1401866ed:	e8 ce 5a 00 00       	call   0x14018c1c0
1401866f2:	85 c0                	test   %eax,%eax
1401866f4:	0f 84 6f 02 00 00    	je     0x140186969
1401866fa:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
1401866fe:	49 bc f9 1f f0 ff ff 	movabs $0x43ffffff01ff9,%r12
140186705:	3f 04 00
140186708:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14018670f:	00
140186710:	48 8b 83 98 00 00 00 	mov    0x98(%rbx),%rax
140186717:	0f b6 10             	movzbl (%rax),%edx
14018671a:	8d 42 d3             	lea    -0x2d(%rdx),%eax
14018671d:	3c 32                	cmp    $0x32,%al
14018671f:	77 06                	ja     0x140186727
140186721:	49 0f a3 c4          	bt     %rax,%r12
140186725:	72 0c                	jb     0x140186733
140186727:	80 ea 61             	sub    $0x61,%dl
14018672a:	80 fa 19             	cmp    $0x19,%dl
14018672d:	0f 87 09 01 00 00    	ja     0x14018683c
140186733:	48 8d 41 05          	lea    0x5(%rcx),%rax
140186737:	48 3b 45 c8          	cmp    -0x38(%rbp),%rax
14018673b:	72 1d                	jb     0x14018675a
14018673d:	4c 8d 45 c8          	lea    -0x38(%rbp),%r8
140186741:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
140186745:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140186749:	e8 b2 55 ff ff       	call   0x14017bd00
14018674e:	85 c0                	test   %eax,%eax
140186750:	0f 84 0d 02 00 00    	je     0x140186963
140186756:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14018675a:	48 8b 83 98 00 00 00 	mov    0x98(%rbx),%rax
140186761:	0f b6 10             	movzbl (%rax),%edx
140186764:	84 d2                	test   %dl,%dl
140186766:	78 04                	js     0x14018676c
140186768:	88 11                	mov    %dl,(%rcx)
14018676a:	eb 7f                	jmp    0x1401867eb
14018676c:	0f b6 c2             	movzbl %dl,%eax
14018676f:	24 e0                	and    $0xe0,%al
140186771:	3c c0                	cmp    $0xc0,%al
140186773:	75 04                	jne    0x140186779
140186775:	88 11                	mov    %dl,(%rcx)
140186777:	eb 54                	jmp    0x1401867cd
140186779:	0f b6 c2             	movzbl %dl,%eax
14018677c:	24 f0                	and    $0xf0,%al
14018677e:	3c e0                	cmp    $0xe0,%al
140186780:	75 04                	jne    0x140186786
140186782:	88 11                	mov    %dl,(%rcx)
140186784:	eb 29                	jmp    0x1401867af
140186786:	0f b6 c2             	movzbl %dl,%eax
140186789:	24 f8                	and    $0xf8,%al
14018678b:	3c f0                	cmp    $0xf0,%al
14018678d:	75 6e                	jne    0x1401867fd
14018678f:	88 11                	mov    %dl,(%rcx)
140186791:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140186795:	48 ff c2             	inc    %rdx
140186798:	48 ff 83 98 00 00 00 	incq   0x98(%rbx)
14018679f:	48 8b 83 98 00 00 00 	mov    0x98(%rbx),%rax
1401867a6:	48 89 55 d0          	mov    %rdx,-0x30(%rbp)
1401867aa:	0f b6 08             	movzbl (%rax),%ecx
1401867ad:	88 0a                	mov    %cl,(%rdx)
1401867af:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
1401867b3:	48 ff c2             	inc    %rdx
1401867b6:	48 ff 83 98 00 00 00 	incq   0x98(%rbx)
1401867bd:	48 8b 83 98 00 00 00 	mov    0x98(%rbx),%rax
1401867c4:	48 89 55 d0          	mov    %rdx,-0x30(%rbp)
1401867c8:	0f b6 08             	movzbl (%rax),%ecx
1401867cb:	88 0a                	mov    %cl,(%rdx)
1401867cd:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
1401867d1:	48 ff c2             	inc    %rdx
1401867d4:	48 ff 83 98 00 00 00 	incq   0x98(%rbx)
1401867db:	48 8b 83 98 00 00 00 	mov    0x98(%rbx),%rax
1401867e2:	48 89 55 d0          	mov    %rdx,-0x30(%rbp)
1401867e6:	0f b6 08             	movzbl (%rax),%ecx
1401867e9:	88 0a                	mov    %cl,(%rdx)
1401867eb:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
1401867ef:	48 ff c1             	inc    %rcx
1401867f2:	48 ff 83 98 00 00 00 	incq   0x98(%rbx)
1401867f9:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
1401867fd:	48 ff 83 e0 00 00 00 	incq   0xe0(%rbx)
140186804:	48 ff 83 f0 00 00 00 	incq   0xf0(%rbx)
14018680b:	48 ff 8b a8 00 00 00 	decq   0xa8(%rbx)
140186812:	48 83 bb a8 00 00 00 	cmpq   $0x1,0xa8(%rbx)
140186819:	01
14018681a:	73 19                	jae    0x140186835
14018681c:	ba 01 00 00 00       	mov    $0x1,%edx
140186821:	48 8b cb             	mov    %rbx,%rcx
140186824:	e8 97 59 00 00       	call   0x14018c1c0
140186829:	85 c0                	test   %eax,%eax
14018682b:	0f 84 38 01 00 00    	je     0x140186969
140186831:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
140186835:	ff c6                	inc    %esi
140186837:	e9 d4 fe ff ff       	jmp    0x140186710
14018683c:	f2 0f 10 93 f0 00 00 	movsd  0xf0(%rbx),%xmm2
140186843:	00
140186844:	0f 10 8b e0 00 00 00 	movups 0xe0(%rbx),%xmm1
14018684b:	85 f6                	test   %esi,%esi
14018684d:	0f 84 d1 00 00 00    	je     0x140186924
140186853:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
14018685a:	0f b6 11             	movzbl (%rcx),%edx
14018685d:	80 fa 20             	cmp    $0x20,%dl
140186860:	77 10                	ja     0x140186872
140186862:	49 b8 00 26 00 00 01 	movabs $0x100002600,%r8
140186869:	00 00 00
14018686c:	49 0f a3 d0          	bt     %rdx,%r8
140186870:	72 64                	jb     0x1401868d6
140186872:	80 fa c2             	cmp    $0xc2,%dl
140186875:	75 0b                	jne    0x140186882
140186877:	80 79 01 85          	cmpb   $0x85,0x1(%rcx)
14018687b:	74 59                	je     0x1401868d6
14018687d:	0f b6 09             	movzbl (%rcx),%ecx
140186880:	eb 4f                	jmp    0x1401868d1
140186882:	80 fa e2             	cmp    $0xe2,%dl
140186885:	75 0c                	jne    0x140186893
140186887:	80 79 01 80          	cmpb   $0x80,0x1(%rcx)
14018688b:	75 06                	jne    0x140186893
14018688d:	80 79 02 a8          	cmpb   $0xa8,0x2(%rcx)
140186891:	74 43                	je     0x1401868d6
140186893:	48 8b c1             	mov    %rcx,%rax
140186896:	0f b6 09             	movzbl (%rcx),%ecx
140186899:	80 f9 e2             	cmp    $0xe2,%cl
14018689c:	75 0c                	jne    0x1401868aa
14018689e:	80 78 01 80          	cmpb   $0x80,0x1(%rax)
1401868a2:	75 25                	jne    0x1401868c9
1401868a4:	80 78 02 a9          	cmpb   $0xa9,0x2(%rax)
1401868a8:	74 2c                	je     0x1401868d6
1401868aa:	80 f9 3f             	cmp    $0x3f,%cl
1401868ad:	77 10                	ja     0x1401868bf
1401868af:	48 ba 01 00 00 00 20 	movabs $0x8400102000000001,%rdx
1401868b6:	10 00 84
1401868b9:	48 0f a3 ca          	bt     %rcx,%rdx
1401868bd:	72 17                	jb     0x1401868d6
1401868bf:	80 f9 5d             	cmp    $0x5d,%cl
1401868c2:	74 12                	je     0x1401868d6
1401868c4:	80 f9 7d             	cmp    $0x7d,%cl
1401868c7:	74 0d                	je     0x1401868d6
1401868c9:	0f b6 08             	movzbl (%rax),%ecx
1401868cc:	80 f9 40             	cmp    $0x40,%cl
1401868cf:	74 05                	je     0x1401868d6
1401868d1:	80 f9 60             	cmp    $0x60,%cl
1401868d4:	75 4e                	jne    0x140186924
1401868d6:	44 89 7f 04          	mov    %r15d,0x4(%rdi)
1401868da:	4c 89 7f 10          	mov    %r15,0x10(%rdi)
1401868de:	4c 89 7f 18          	mov    %r15,0x18(%rdi)
1401868e2:	0f 11 77 20          	movups %xmm6,0x20(%rdi)
1401868e6:	f2 0f 11 7f 30       	movsd  %xmm7,0x30(%rdi)