140cd653b:	e8 60 4f 14 00       	call   0x140e1b4a0
140cd6540:	48 2b e0             	sub    %rax,%rsp
140cd6543:	83 79 0c 01          	cmpl   $0x1,0xc(%rcx)
140cd6547:	48 8b fa             	mov    %rdx,%rdi
140cd654a:	48 8b d9             	mov    %rcx,%rbx
140cd654d:	7c 05                	jl     0x140cd6554
140cd654f:	48 8b c1             	mov    %rcx,%rax
140cd6552:	eb 0a                	jmp    0x140cd655e
140cd6554:	ba 01 00 00 00       	mov    $0x1,%edx
140cd6559:	e8 32 04 00 00       	call   0x140cd6990
140cd655e:	48 85 c0             	test   %rax,%rax
140cd6561:	75 0b                	jne    0x140cd656e
140cd6563:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140cd6568:	48 83 c4 20          	add    $0x20,%rsp
140cd656c:	5f                   	pop    %rdi
140cd656d:	c3                   	ret
140cd656e:	48 8b 0b             	mov    (%rbx),%rcx
140cd6571:	33 d2                	xor    %edx,%edx
140cd6573:	89 53 10             	mov    %edx,0x10(%rbx)
140cd6576:	48 85 ff             	test   %rdi,%rdi
140cd6579:	b8 01 00 00 00       	mov    $0x1,%eax
140cd657e:	0f 95 c2             	setne  %dl
140cd6581:	48 89 39             	mov    %rdi,(%rcx)
140cd6584:	89 53 08             	mov    %edx,0x8(%rbx)
140cd6587:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140cd658c:	48 83 c4 20          	add    $0x20,%rsp
140cd6590:	5f                   	pop    %rdi
140cd6591:	c3                   	ret
140cd6592:	cc                   	int3
140cd6593:	cc                   	int3
140cd6594:	cc                   	int3
140cd6595:	cc                   	int3
140cd6596:	cc                   	int3
140cd6597:	cc                   	int3
140cd6598:	cc                   	int3
140cd6599:	cc                   	int3
140cd659a:	cc                   	int3
140cd659b:	cc                   	int3
140cd659c:	cc                   	int3
140cd659d:	cc                   	int3
140cd659e:	cc                   	int3
140cd659f:	cc                   	int3
140cd65a0:	b8 38 00 00 00       	mov    $0x38,%eax
140cd65a5:	e8 f6 4e 14 00       	call   0x140e1b4a0
140cd65aa:	48 2b e0             	sub    %rax,%rsp
140cd65ad:	49 8b c0             	mov    %r8,%rax
140cd65b0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140cd65b5:	4c 8b c8             	mov    %rax,%r9
140cd65b8:	49 83 c0 08          	add    $0x8,%r8
140cd65bc:	e8 3f 73 04 00       	call   0x140d1d900
140cd65c1:	48 83 c4 38          	add    $0x38,%rsp
140cd65c5:	c3                   	ret
140cd65c6:	cc                   	int3
140cd65c7:	cc                   	int3
140cd65c8:	cc                   	int3
140cd65c9:	cc                   	int3
140cd65ca:	cc                   	int3
140cd65cb:	cc                   	int3
140cd65cc:	cc                   	int3
140cd65cd:	cc                   	int3
140cd65ce:	cc                   	int3
140cd65cf:	cc                   	int3
140cd65d0:	44 8b 41 08          	mov    0x8(%rcx),%r8d
140cd65d4:	41 8b c0             	mov    %r8d,%eax
140cd65d7:	2b 42 08             	sub    0x8(%rdx),%eax
140cd65da:	75 2d                	jne    0x140cd6609
140cd65dc:	4c 8b 09             	mov    (%rcx),%r9
140cd65df:	41 8d 40 ff          	lea    -0x1(%r8),%eax
140cd65e3:	48 8b 12             	mov    (%rdx),%rdx
140cd65e6:	48 63 c8             	movslq %eax,%rcx
140cd65e9:	85 c0                	test   %eax,%eax
140cd65eb:	78 1a                	js     0x140cd6607
140cd65ed:	48 8d 04 ca          	lea    (%rdx,%rcx,8),%rax
140cd65f1:	4c 2b ca             	sub    %rdx,%r9
140cd65f4:	49 8b 14 01          	mov    (%r9,%rax,1),%rdx
140cd65f8:	48 3b 10             	cmp    (%rax),%rdx
140cd65fb:	75 0d                	jne    0x140cd660a
140cd65fd:	48 83 e8 08          	sub    $0x8,%rax
140cd6601:	48 83 e9 01          	sub    $0x1,%rcx
140cd6605:	79 ed                	jns    0x140cd65f4
140cd6607:	33 c0                	xor    %eax,%eax
140cd6609:	c3                   	ret
140cd660a:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140cd660f:	b9 01 00 00 00       	mov    $0x1,%ecx
140cd6614:	0f 47 c1             	cmova  %ecx,%eax
140cd6617:	c3                   	ret
140cd6618:	cc                   	int3
140cd6619:	cc                   	int3
140cd661a:	cc                   	int3
140cd661b:	cc                   	int3
140cd661c:	cc                   	int3
140cd661d:	cc                   	int3
140cd661e:	cc                   	int3
140cd661f:	cc                   	int3
140cd6620:	48 8d 05 81 ce 48 00 	lea    0x48ce81(%rip),%rax        # 0x1411634a8
140cd6627:	c3                   	ret
140cd6628:	cc                   	int3
140cd6629:	cc                   	int3
140cd662a:	cc                   	int3
140cd662b:	cc                   	int3
140cd662c:	cc                   	int3
140cd662d:	cc                   	int3
140cd662e:	cc                   	int3
140cd662f:	cc                   	int3
140cd6630:	48 8b 02             	mov    (%rdx),%rax
140cd6633:	44 8b 49 14          	mov    0x14(%rcx),%r9d
140cd6637:	48 89 01             	mov    %rax,(%rcx)
140cd663a:	8b 42 08             	mov    0x8(%rdx),%eax
140cd663d:	89 41 08             	mov    %eax,0x8(%rcx)
140cd6640:	8b 42 0c             	mov    0xc(%rdx),%eax
140cd6643:	89 41 0c             	mov    %eax,0xc(%rcx)
140cd6646:	8b 42 10             	mov    0x10(%rdx),%eax
140cd6649:	89 41 10             	mov    %eax,0x10(%rcx)
140cd664c:	44 33 4a 14          	xor    0x14(%rdx),%r9d
140cd6650:	41 83 e1 fe          	and    $0xfffffffe,%r9d
140cd6654:	44 33 49 14          	xor    0x14(%rcx),%r9d
140cd6658:	45 0b c8             	or     %r8d,%r9d
140cd665b:	41 83 c9 02          	or     $0x2,%r9d
140cd665f:	44 89 49 14          	mov    %r9d,0x14(%rcx)
140cd6663:	c3                   	ret
140cd6664:	cc                   	int3
140cd6665:	cc                   	int3
140cd6666:	cc                   	int3
140cd6667:	cc                   	int3
140cd6668:	cc                   	int3
140cd6669:	cc                   	int3
140cd666a:	cc                   	int3
140cd666b:	cc                   	int3
140cd666c:	cc                   	int3
140cd666d:	cc                   	int3
140cd666e:	cc                   	int3
140cd666f:	cc                   	int3
140cd6670:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140cd6675:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140cd667a:	57                   	push   %rdi
140cd667b:	41 56                	push   %r14
140cd667d:	41 57                	push   %r15
140cd667f:	b8 40 00 00 00       	mov    $0x40,%eax
140cd6684:	e8 17 4e 14 00       	call   0x140e1b4a0
140cd6689:	48 2b e0             	sub    %rax,%rsp
140cd668c:	45 8b f9             	mov    %r9d,%r15d
140cd668f:	41 8b f0             	mov    %r8d,%esi
140cd6692:	48 8b fa             	mov    %rdx,%rdi
140cd6695:	4c 8b f1             	mov    %rcx,%r14
140cd6698:	e8 13 fb ff ff       	call   0x140cd61b0
140cd669d:	83 c0 07             	add    $0x7,%eax
140cd66a0:	33 db                	xor    %ebx,%ebx
140cd66a2:	99                   	cltd
140cd66a3:	83 e2 07             	and    $0x7,%edx
140cd66a6:	03 c2                	add    %edx,%eax
140cd66a8:	c1 f8 03             	sar    $0x3,%eax
140cd66ab:	83 fe ff             	cmp    $0xffffffff,%esi
140cd66ae:	75 24                	jne    0x140cd66d4
140cd66b0:	8b f0                	mov    %eax,%esi
140cd66b2:	41 8b 46 0c          	mov    0xc(%r14),%eax
140cd66b6:	c1 e0 03             	shl    $0x3,%eax
140cd66b9:	48 63 c8             	movslq %eax,%rcx
140cd66bc:	85 c0                	test   %eax,%eax
140cd66be:	0f 85 85 00 00 00    	jne    0x140cd6749
140cd66c4:	48 63 d6             	movslq %esi,%rdx
140cd66c7:	48 8b cf             	mov    %rdi,%rcx
140cd66ca:	e8 31 bc 32 ff       	call   0x140002300
140cd66cf:	e9 49 01 00 00       	jmp    0x140cd681d
140cd66d4:	3b f0                	cmp    %eax,%esi
140cd66d6:	7d da                	jge    0x140cd66b2
140cd66d8:	41 0f 10 16          	movups (%r14),%xmm2
140cd66dc:	49 63 56 08          	movslq 0x8(%r14),%rdx
140cd66e0:	f2 41 0f 10 46 10    	movsd  0x10(%r14),%xmm0
140cd66e6:	f2 0f 11 44 24 30    	movsd  %xmm0,0x30(%rsp)
140cd66ec:	0f 11 54 24 20       	movups %xmm2,0x20(%rsp)
140cd66f1:	85 d2                	test   %edx,%edx
140cd66f3:	7e 1f                	jle    0x140cd6714
140cd66f5:	66 48 0f 7e d0       	movq   %xmm2,%rax
140cd66fa:	4c 8d 04 d0          	lea    (%rax,%rdx,8),%r8
140cd66fe:	66 90                	xchg   %ax,%ax
140cd6700:	49 39 58 f8          	cmp    %rbx,-0x8(%r8)
140cd6704:	4d 8d 40 f8          	lea    -0x8(%r8),%r8
140cd6708:	75 06                	jne    0x140cd6710
140cd670a:	ff ca                	dec    %edx
140cd670c:	85 d2                	test   %edx,%edx
140cd670e:	7f f0                	jg     0x140cd6700
140cd6710:	89 54 24 28          	mov    %edx,0x28(%rsp)
140cd6714:	8b 44 24 30          	mov    0x30(%rsp),%eax
140cd6718:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140cd671d:	85 d2                	test   %edx,%edx
140cd671f:	0f 44 c3             	cmove  %ebx,%eax
140cd6722:	89 44 24 30          	mov    %eax,0x30(%rsp)
140cd6726:	e8 85 fa ff ff       	call   0x140cd61b0
140cd672b:	83 c0 07             	add    $0x7,%eax
140cd672e:	99                   	cltd
140cd672f:	83 e2 07             	and    $0x7,%edx
140cd6732:	03 c2                	add    %edx,%eax
140cd6734:	c1 f8 03             	sar    $0x3,%eax
140cd6737:	3b f0                	cmp    %eax,%esi
140cd6739:	0f 8d 73 ff ff ff    	jge    0x140cd66b2
140cd673f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140cd6744:	e9 d6 00 00 00       	jmp    0x140cd681f
140cd6749:	41 8b 46 08          	mov    0x8(%r14),%eax
140cd674d:	4c 8d 59 ff          	lea    -0x1(%rcx),%r11
140cd6751:	c1 e0 03             	shl    $0x3,%eax
140cd6754:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
140cd6759:	48 63 e8             	movslq %eax,%rbp
140cd675c:	4c 63 ce             	movslq %esi,%r9
140cd675f:	45 85 ff             	test   %r15d,%r15d
140cd6762:	75 03                	jne    0x140cd6767
140cd6764:	49 03 f9             	add    %r9,%rdi
140cd6767:	4c 8b d3             	mov    %rbx,%r10
140cd676a:	4d 85 c9             	test   %r9,%r9
140cd676d:	0f 84 a5 00 00 00    	je     0x140cd6818
140cd6773:	45 85 ff             	test   %r15d,%r15d
140cd6776:	75 58                	jne    0x140cd67d0
140cd6778:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140cd677f:	00
140cd6780:	49 8b 0e             	mov    (%r14),%rcx
140cd6783:	48 8d 7f ff          	lea    -0x1(%rdi),%rdi
140cd6787:	0f b6 c3             	movzbl %bl,%eax
140cd678a:	48 8b d3             	mov    %rbx,%rdx
140cd678d:	24 07                	and    $0x7,%al
140cd678f:	48 c1 ea 03          	shr    $0x3,%rdx
140cd6793:	c0 e0 03             	shl    $0x3,%al
140cd6796:	4c 8b 04 d1          	mov    (%rcx,%rdx,8),%r8
140cd679a:	0f b6 c8             	movzbl %al,%ecx
140cd679d:	49 8b c2             	mov    %r10,%rax
140cd67a0:	49 d3 e8             	shr    %cl,%r8
140cd67a3:	48 2b c5             	sub    %rbp,%rax
140cd67a6:	49 ff c2             	inc    %r10
140cd67a9:	48 c1 e8 3f          	shr    $0x3f,%rax
140cd67ad:	f6 d8                	neg    %al
140cd67af:	44 22 c0             	and    %al,%r8b
140cd67b2:	48 8b c3             	mov    %rbx,%rax
140cd67b5:	49 2b c3             	sub    %r11,%rax
140cd67b8:	44 88 07             	mov    %r8b,(%rdi)
140cd67bb:	48 c1 e8 3f          	shr    $0x3f,%rax
140cd67bf:	48 03 d8             	add    %rax,%rbx
140cd67c2:	4d 3b d1             	cmp    %r9,%r10
140cd67c5:	72 b9                	jb     0x140cd6780
140cd67c7:	eb 4f                	jmp    0x140cd6818
140cd67c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140cd67d0:	49 8b 0e             	mov    (%r14),%rcx
140cd67d3:	48 8d 7f 01          	lea    0x1(%rdi),%rdi
140cd67d7:	0f b6 c3             	movzbl %bl,%eax
140cd67da:	48 8b d3             	mov    %rbx,%rdx
140cd67dd:	24 07                	and    $0x7,%al
140cd67df:	48 c1 ea 03          	shr    $0x3,%rdx
140cd67e3:	c0 e0 03             	shl    $0x3,%al
140cd67e6:	4c 8b 04 d1          	mov    (%rcx,%rdx,8),%r8
140cd67ea:	0f b6 c8             	movzbl %al,%ecx
140cd67ed:	49 8b c2             	mov    %r10,%rax
140cd67f0:	49 d3 e8             	shr    %cl,%r8
140cd67f3:	48 2b c5             	sub    %rbp,%rax
140cd67f6:	49 ff c2             	inc    %r10
140cd67f9:	48 c1 e8 3f          	shr    $0x3f,%rax
140cd67fd:	f6 d8                	neg    %al
140cd67ff:	44 22 c0             	and    %al,%r8b
140cd6802:	48 8b c3             	mov    %rbx,%rax
140cd6805:	49 2b c3             	sub    %r11,%rax
140cd6808:	44 88 47 ff          	mov    %r8b,-0x1(%rdi)
140cd680c:	48 c1 e8 3f          	shr    $0x3f,%rax
140cd6810:	48 03 d8             	add    %rax,%rbx
140cd6813:	4d 3b d1             	cmp    %r9,%r10
140cd6816:	72 b8                	jb     0x140cd67d0
140cd6818:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140cd681d:	8b c6                	mov    %esi,%eax
140cd681f:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140cd6824:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140cd6829:	48 83 c4 40          	add    $0x40,%rsp
140cd682d:	41 5f                	pop    %r15
140cd682f:	41 5e                	pop    %r14
140cd6831:	5f                   	pop    %rdi
140cd6832:	c3                   	ret
140cd6833:	cc                   	int3
140cd6834:	cc                   	int3
140cd6835:	cc                   	int3
140cd6836:	cc                   	int3
140cd6837:	cc                   	int3
140cd6838:	cc                   	int3
140cd6839:	cc                   	int3
140cd683a:	cc                   	int3
140cd683b:	cc                   	int3
140cd683c:	cc                   	int3
140cd683d:	cc                   	int3
140cd683e:	cc                   	int3
140cd683f:	cc                   	int3
140cd6840:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140cd6845:	49 63 d8             	movslq %r8d,%rbx
140cd6848:	4c 8b da             	mov    %rdx,%r11
140cd684b:	4c 8b d1             	mov    %rcx,%r10
140cd684e:	4c 8d 43 ff          	lea    -0x1(%rbx),%r8
140cd6852:	45 85 c9             	test   %r9d,%r9d
140cd6855:	79 55                	jns    0x140cd68ac
140cd6857:	4d 63 c9             	movslq %r9d,%r9
140cd685a:	4d 85 c9             	test   %r9,%r9
140cd685d:	79 21                	jns    0x140cd6880
140cd685f:	49 8b c0             	mov    %r8,%rax
140cd6862:	49 2b c1             	sub    %r9,%rax
140cd6865:	48 8d 14 c2          	lea    (%rdx,%rax,8),%rdx
140cd6869:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140cd6870:	48 83 3a 00          	cmpq   $0x0,(%rdx)
140cd6874:	75 2b                	jne    0x140cd68a1
140cd6876:	48 83 ea 08          	sub    $0x8,%rdx
140cd687a:	49 83 c1 01          	add    $0x1,%r9
140cd687e:	78 f0                	js     0x140cd6870
140cd6880:	85 db                	test   %ebx,%ebx
140cd6882:	74 7f                	je     0x140cd6903
140cd6884:	4b 8b 14 c2          	mov    (%r10,%r8,8),%rdx
140cd6888:	4b 3b 14 c3          	cmp    (%r11,%r8,8),%rdx
140cd688c:	74 51                	je     0x140cd68df
140cd688e:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140cd6893:	b9 01 00 00 00       	mov    $0x1,%ecx
140cd6898:	0f 47 c1             	cmova  %ecx,%eax
140cd689b:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140cd68a0:	c3                   	ret
140cd68a1:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140cd68a6:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140cd68ab:	c3                   	ret
140cd68ac:	7e d2                	jle    0x140cd6880
140cd68ae:	49 63 c9             	movslq %r9d,%rcx
140cd68b1:	45 85 c9             	test   %r9d,%r9d
140cd68b4:	74 ca                	je     0x140cd6880
140cd68b6:	49 8d 04 08          	lea    (%r8,%rcx,1),%rax
140cd68ba:	49 8d 14 c2          	lea    (%r10,%rax,8),%rdx
140cd68be:	66 90                	xchg   %ax,%ax
140cd68c0:	48 83 3a 00          	cmpq   $0x0,(%rdx)
140cd68c4:	75 0e                	jne    0x140cd68d4
140cd68c6:	48 ff c9             	dec    %rcx
140cd68c9:	48 83 ea 08          	sub    $0x8,%rdx
140cd68cd:	48 85 c9             	test   %rcx,%rcx
140cd68d0:	7f ee                	jg     0x140cd68c0
140cd68d2:	eb ac                	jmp    0x140cd6880
140cd68d4:	b8 01 00 00 00       	mov    $0x1,%eax
140cd68d9:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140cd68de:	c3                   	ret
140cd68df:	8d 43 fe             	lea    -0x2(%rbx),%eax
140cd68e2:	48 63 c8             	movslq %eax,%rcx
140cd68e5:	85 c0                	test   %eax,%eax
140cd68e7:	78 1a                	js     0x140cd6903
140cd68e9:	49 8d 04 cb          	lea    (%r11,%rcx,8),%rax
140cd68ed:	4d 2b d3             	sub    %r11,%r10
140cd68f0:	49 8b 14 02          	mov    (%r10,%rax,1),%rdx
140cd68f4:	48 3b 10             	cmp    (%rax),%rdx
140cd68f7:	75 95                	jne    0x140cd688e
140cd68f9:	48 83 e8 08          	sub    $0x8,%rax
140cd68fd:	48 83 e9 01          	sub    $0x1,%rcx
140cd6901:	79 ed                	jns    0x140cd68f0
140cd6903:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140cd6908:	33 c0                	xor    %eax,%eax
140cd690a:	c3                   	ret
140cd690b:	cc                   	int3
140cd690c:	cc                   	int3
140cd690d:	cc                   	int3