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
140116673:	39 44 24 70          	cmp    %eax,0x70(%rsp)
140116677:	0f 83 5b fd ff ff    	jae    0x1401163d8
14011667d:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140116682:	48 c1 e0 06          	shl    $0x6,%rax
140116686:	4c 8b 94 24 00 01 00 	mov    0x100(%rsp),%r10
14011668d:	00
14011668e:	48 8b bc 24 60 01 00 	mov    0x160(%rsp),%rdi
140116695:	00
140116696:	48 8b ac 24 68 01 00 	mov    0x168(%rsp),%rbp
14011669d:	00
14011669e:	48 8b 44 06 38       	mov    0x38(%rsi,%rax,1),%rax
1401166a3:	44 8b b4 24 74 01 00 	mov    0x174(%rsp),%r14d
1401166aa:	00
1401166ab:	44 8b a4 24 e8 02 00 	mov    0x2e8(%rsp),%r12d
1401166b2:	00
1401166b3:	4c 8b bc 24 78 01 00 	mov    0x178(%rsp),%r15
1401166ba:	00
1401166bb:	48 83 c5 01          	add    $0x1,%rbp
1401166bf:	48 83 c7 48          	add    $0x48,%rdi
1401166c3:	46 89 2c 10          	mov    %r13d,(%rax,%r10,1)
1401166c7:	48 39 ac 24 a0 00 00 	cmp    %rbp,0xa0(%rsp)
1401166ce:	00
1401166cf:	0f 84 6c 12 00 00    	je     0x140117941
1401166d5:	c7 84 24 fc 00 00 00 	movl   $0x0,0xfc(%rsp)
1401166dc:	00 00 00 00
1401166e0:	89 ea                	mov    %ebp,%edx
1401166e2:	85 ed                	test   %ebp,%ebp
1401166e4:	0f 8e 54 fb ff ff    	jle    0x14011623e
1401166ea:	45 89 e5             	mov    %r12d,%r13d
1401166ed:	48 8b 84 24 f0 00 00 	mov    0xf0(%rsp),%rax
1401166f4:	00
1401166f5:	41 89 ea             	mov    %ebp,%r10d
1401166f8:	41 89 ee             	mov    %ebp,%r14d
1401166fb:	48 8b b4 24 58 01 00 	mov    0x158(%rsp),%rsi
140116702:	00
140116703:	44 8b a4 24 f0 02 00 	mov    0x2f0(%rsp),%r12d
14011670a:	00
14011670b:	e9 3f f8 ff ff       	jmp    0x140115f4f
140116710:	41 8d 44 24 01       	lea    0x1(%r12),%eax
140116715:	48 89 ac 24 08 01 00 	mov    %rbp,0x108(%rsp)
14011671c:	00
14011671d:	48 8b 17             	mov    (%rdi),%rdx
140116720:	4c 8d 77 18          	lea    0x18(%rdi),%r14
140116724:	89 84 24 f8 00 00 00 	mov    %eax,0xf8(%rsp)
14011672b:	8b 84 24 bc 00 00 00 	mov    0xbc(%rsp),%eax
140116732:	44 89 ac 24 70 01 00 	mov    %r13d,0x170(%rsp)
140116739:	00
14011673a:	89 c6                	mov    %eax,%esi
14011673c:	83 e6 1e             	and    $0x1e,%esi
14011673f:	89 74 24 58          	mov    %esi,0x58(%rsp)
140116743:	89 c6                	mov    %eax,%esi
140116745:	83 e0 04             	and    $0x4,%eax
140116748:	83 e6 06             	and    $0x6,%esi
14011674b:	41 89 c4             	mov    %eax,%r12d
14011674e:	89 74 24 74          	mov    %esi,0x74(%rsp)
140116752:	44 8b ac 24 bc 00 00 	mov    0xbc(%rsp),%r13d
140116759:	00
14011675a:	48 89 8c 24 e0 00 00 	mov    %rcx,0xe0(%rsp)
140116761:	00
140116762:	31 ed                	xor    %ebp,%ebp
140116764:	48 89 94 24 e8 00 00 	mov    %rdx,0xe8(%rsp)
14011676b:	00
14011676c:	48 8b b4 24 88 00 00 	mov    0x88(%rsp),%rsi
140116773:	00
140116774:	41 83 e5 02          	and    $0x2,%r13d
140116778:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14011677f:	00
140116780:	8b 44 24 58          	mov    0x58(%rsp),%eax
140116784:	44 8b 46 10          	mov    0x10(%rsi),%r8d
140116788:	4c 8d 56 18          	lea    0x18(%rsi),%r10
14011678c:	8b 4f 10             	mov    0x10(%rdi),%ecx
14011678f:	85 c0                	test   %eax,%eax
140116791:	0f 84 08 03 00 00    	je     0x140116a9f
140116797:	85 c9                	test   %ecx,%ecx
140116799:	7e 37                	jle    0x1401167d2
14011679b:	48 63 c1             	movslq %ecx,%rax
14011679e:	48 8d 44 07 17       	lea    0x17(%rdi,%rax,1),%rax
1401167a3:	eb 24                	jmp    0x1401167c9
1401167a5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401167ac:	00 00 00 00
1401167b0:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401167b7:	00 00 00 00
1401167bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401167c0:	48 83 e8 01          	sub    $0x1,%rax
1401167c4:	83 e9 01             	sub    $0x1,%ecx
1401167c7:	74 09                	je     0x1401167d2
1401167c9:	0f b6 10             	movzbl (%rax),%edx
1401167cc:	f6 04 13 01          	testb  $0x1,(%rbx,%rdx,1)
1401167d0:	75 ee                	jne    0x1401167c0
1401167d2:	45 85 c0             	test   %r8d,%r8d
1401167d5:	0f 8e bc 02 00 00    	jle    0x140116a97
1401167db:	49 63 c0             	movslq %r8d,%rax
1401167de:	49 89 d9             	mov    %rbx,%r9
1401167e1:	48 8d 44 06 17       	lea    0x17(%rsi,%rax,1),%rax
1401167e6:	eb 26                	jmp    0x14011680e
1401167e8:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401167ef:	00 00 00 00
1401167f3:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401167fa:	00 00 00 00
1401167fe:	66 90                	xchg   %ax,%ax
140116800:	48 83 e8 01          	sub    $0x1,%rax
140116804:	41 83 e8 01          	sub    $0x1,%r8d
140116808:	0f 84 89 02 00 00    	je     0x140116a97
14011680e:	0f b6 10             	movzbl (%rax),%edx
140116811:	f6 04 13 01          	testb  $0x1,(%rbx,%rdx,1)
140116815:	75 e9                	jne    0x140116800
140116817:	8b 44 24 74          	mov    0x74(%rsp),%eax
14011681b:	85 c0                	test   %eax,%eax
14011681d:	0f 84 7c 02 00 00    	je     0x140116a9f
140116823:	4c 89 4c 24 48       	mov    %r9,0x48(%rsp)
140116828:	4c 89 5c 24 40       	mov    %r11,0x40(%rsp)
14011682d:	4d 89 d3             	mov    %r10,%r11
140116830:	85 c9                	test   %ecx,%ecx
140116832:	0f 8e a1 14 00 00    	jle    0x140117cd9
140116838:	45 85 c0             	test   %r8d,%r8d
14011683b:	0f 84 98 14 00 00    	je     0x140117cd9
140116841:	83 e9 01             	sub    $0x1,%ecx
140116844:	41 83 e8 01          	sub    $0x1,%r8d
140116848:	48 63 c1             	movslq %ecx,%rax
14011684b:	45 0f b6 0c 06       	movzbl (%r14,%rax,1),%r9d
140116850:	4c 89 ca             	mov    %r9,%rdx
140116853:	46 0f b6 0c 0b       	movzbl (%rbx,%r9,1),%r9d
140116858:	41 f6 c1 01          	test   $0x1,%r9b
14011685c:	0f 85 fe 00 00 00    	jne    0x140116960
140116862:	49 63 c0             	movslq %r8d,%rax
140116865:	41 0f b6 04 03       	movzbl (%r11,%rax,1),%eax
14011686a:	49 89 c1             	mov    %rax,%r9
14011686d:	f6 04 03 01          	testb  $0x1,(%rbx,%rax,1)
140116871:	74 4f                	je     0x1401168c2
140116873:	45 85 e4             	test   %r12d,%r12d
140116876:	75 58                	jne    0x1401168d0
140116878:	85 c9                	test   %ecx,%ecx
14011687a:	0f 84 79 02 00 00    	je     0x140116af9
140116880:	45 85 c0             	test   %r8d,%r8d
140116883:	0f 84 47 01 00 00    	je     0x1401169d0
140116889:	49 63 c0             	movslq %r8d,%rax
14011688c:	eb 21                	jmp    0x1401168af
14011688e:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140116895:	00 00 00 00
140116899:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401168a0:	48 83 e8 01          	sub    $0x1,%rax
1401168a4:	41 89 c0             	mov    %eax,%r8d
1401168a7:	85 c0                	test   %eax,%eax
1401168a9:	0f 84 21 01 00 00    	je     0x1401169d0
1401168af:	44 0f b6 44 06 18    	movzbl 0x18(%rsi,%rax,1),%r8d
1401168b5:	4d 89 c1             	mov    %r8,%r9
1401168b8:	42 f6 04 03 01       	testb  $0x1,(%rbx,%r8,1)
1401168bd:	75 e1                	jne    0x1401168a0
1401168bf:	41 89 c0             	mov    %eax,%r8d
1401168c2:	44 38 ca             	cmp    %r9b,%dl
1401168c5:	0f 84 65 ff ff ff    	je     0x140116830
1401168cb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401168d0:	4c 8b 5c 24 40       	mov    0x40(%rsp),%r11
1401168d5:	49 8b 17             	mov    (%r15),%rdx
1401168d8:	4d 8b 47 f8          	mov    -0x8(%r15),%r8
1401168dc:	48 8d 45 04          	lea    0x4(%rbp),%rax
1401168e0:	4d 8b 0b             	mov    (%r11),%r9
1401168e3:	8b 0c 2a             	mov    (%rdx,%rbp,1),%ecx
1401168e6:	45 8b 44 28 04       	mov    0x4(%r8,%rbp,1),%r8d
1401168eb:	48 01 c2             	add    %rax,%rdx
1401168ee:	49 01 c1             	add    %rax,%r9
1401168f1:	44 39 c1             	cmp    %r8d,%ecx
1401168f4:	0f 8c f0 01 00 00    	jl     0x140116aea
1401168fa:	89 0a                	mov    %ecx,(%rdx)
1401168fc:	41 c7 01 02 00 00 00 	movl   $0x2,(%r9)
140116903:	48 8b 16             	mov    (%rsi),%rdx
140116906:	48 89 c5             	mov    %rax,%rbp
140116909:	48 85 d2             	test   %rdx,%rdx
14011690c:	48 0f 45 f2          	cmovne %rdx,%rsi
140116910:	48 39 44 24 50       	cmp    %rax,0x50(%rsp)
140116915:	0f 85 65 fe ff ff    	jne    0x140116780
14011691b:	48 8b 94 24 e8 00 00 	mov    0xe8(%rsp),%rdx
140116922:	00
140116923:	48 8b 8c 24 e0 00 00 	mov    0xe0(%rsp),%rcx
14011692a:	00