1407a75ee:	48 89 4f 30          	mov    %rcx,0x30(%rdi)
1407a75f2:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1407a75f6:	48 89 43 38          	mov    %rax,0x38(%rbx)
1407a75fa:	48 89 4f 38          	mov    %rcx,0x38(%rdi)
1407a75fe:	48 8b c3             	mov    %rbx,%rax
1407a7601:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407a7606:	48 83 c4 20          	add    $0x20,%rsp
1407a760a:	5f                   	pop    %rdi
1407a760b:	c3                   	ret
1407a760c:	cc                   	int3
1407a760d:	cc                   	int3
1407a760e:	cc                   	int3
1407a760f:	cc                   	int3
1407a7610:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1407a7615:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407a761a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1407a761f:	41 56                	push   %r14
1407a7621:	48 83 ec 20          	sub    $0x20,%rsp
1407a7625:	48 8b f2             	mov    %rdx,%rsi
1407a7628:	48 8b f9             	mov    %rcx,%rdi
1407a762b:	e8 50 51 ab ff       	call   0x14025c780
1407a7630:	8b 46 08             	mov    0x8(%rsi),%eax
1407a7633:	48 8d 6e 10          	lea    0x10(%rsi),%rbp
1407a7637:	4c 8d 77 10          	lea    0x10(%rdi),%r14
1407a763b:	89 47 08             	mov    %eax,0x8(%rdi)
1407a763e:	4c 3b f5             	cmp    %rbp,%r14
1407a7641:	74 3a                	je     0x1407a767d
1407a7643:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1407a7648:	49 8b d6             	mov    %r14,%rdx
1407a764b:	49 8b 1e             	mov    (%r14),%rbx
1407a764e:	49 8b ce             	mov    %r14,%rcx
1407a7651:	4c 8b 43 08          	mov    0x8(%rbx),%r8
1407a7655:	e8 86 98 aa ff       	call   0x140250ee0
1407a765a:	48 89 5b 08          	mov    %rbx,0x8(%rbx)
1407a765e:	48 8b d5             	mov    %rbp,%rdx
1407a7661:	48 89 1b             	mov    %rbx,(%rbx)
1407a7664:	49 8b ce             	mov    %r14,%rcx
1407a7667:	48 89 5b 10          	mov    %rbx,0x10(%rbx)
1407a766b:	49 c7 46 08 00 00 00 	movq   $0x0,0x8(%r14)
1407a7672:	00
1407a7673:	e8 e8 cf ed ff       	call   0x140684660
1407a7678:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407a767d:	0f b6 46 20          	movzbl 0x20(%rsi),%eax
1407a7681:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1407a7686:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1407a768b:	88 47 20             	mov    %al,0x20(%rdi)
1407a768e:	48 8b c7             	mov    %rdi,%rax
1407a7691:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1407a7696:	48 83 c4 20          	add    $0x20,%rsp
1407a769a:	41 5e                	pop    %r14
1407a769c:	c3                   	ret
1407a769d:	cc                   	int3
1407a769e:	cc                   	int3
1407a769f:	cc                   	int3
1407a76a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1407a76a5:	55                   	push   %rbp
1407a76a6:	56                   	push   %rsi
1407a76a7:	57                   	push   %rdi
1407a76a8:	41 56                	push   %r14
1407a76aa:	41 57                	push   %r15
1407a76ac:	48 83 ec 50          	sub    $0x50,%rsp
1407a76b0:	48 8b f2             	mov    %rdx,%rsi
1407a76b3:	4c 8b f1             	mov    %rcx,%r14
1407a76b6:	48 8b 29             	mov    (%rcx),%rbp
1407a76b9:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1407a76bd:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1407a76c2:	45 33 ff             	xor    %r15d,%r15d
1407a76c5:	44 89 7c 24 38       	mov    %r15d,0x38(%rsp)
1407a76ca:	48 8b fd             	mov    %rbp,%rdi
1407a76cd:	44 38 7b 19          	cmp    %r15b,0x19(%rbx)
1407a76d1:	75 34                	jne    0x1407a7707
1407a76d3:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1407a76d8:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
1407a76dc:	48 8b d6             	mov    %rsi,%rdx
1407a76df:	e8 2c 8f a2 ff       	call   0x1401d0610
1407a76e4:	84 c0                	test   %al,%al
1407a76e6:	79 0b                	jns    0x1407a76f3
1407a76e8:	44 89 7c 24 38       	mov    %r15d,0x38(%rsp)
1407a76ed:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
1407a76f1:	eb 0e                	jmp    0x1407a7701
1407a76f3:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1407a76fa:	00
1407a76fb:	48 8b fb             	mov    %rbx,%rdi
1407a76fe:	48 8b 1b             	mov    (%rbx),%rbx
1407a7701:	44 38 7b 19          	cmp    %r15b,0x19(%rbx)
1407a7705:	74 cc                	je     0x1407a76d3
1407a7707:	44 38 7f 19          	cmp    %r15b,0x19(%rdi)
1407a770b:	75 14                	jne    0x1407a7721
1407a770d:	48 8d 57 20          	lea    0x20(%rdi),%rdx
1407a7711:	48 8b ce             	mov    %rsi,%rcx
1407a7714:	e8 f7 8e a2 ff       	call   0x1401d0610
1407a7719:	84 c0                	test   %al,%al
1407a771b:	0f 89 a7 00 00 00    	jns    0x1407a77c8
1407a7721:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
1407a7728:	33 33 03
1407a772b:	49 39 46 08          	cmp    %rax,0x8(%r14)
1407a772f:	0f 84 ab 00 00 00    	je     0x1407a77e0
1407a7735:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1407a773a:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
1407a773f:	b9 50 00 00 00       	mov    $0x50,%ecx
1407a7744:	e8 bf 39 67 00       	call   0x140e1b108
1407a7749:	48 8b f8             	mov    %rax,%rdi
1407a774c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1407a7751:	48 8d 58 20          	lea    0x20(%rax),%rbx
1407a7755:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
1407a775c:	00
1407a775d:	48 8b d6             	mov    %rsi,%rdx
1407a7760:	48 8b cb             	mov    %rbx,%rcx
1407a7763:	e8 d8 12 a0 ff       	call   0x1401a8a40
1407a7768:	90                   	nop
1407a7769:	48 83 c3 20          	add    $0x20,%rbx
1407a776d:	48 89 9c 24 90 00 00 	mov    %rbx,0x90(%rsp)
1407a7774:	00
1407a7775:	4c 89 3b             	mov    %r15,(%rbx)
1407a7778:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
1407a777c:	b9 40 00 00 00       	mov    $0x40,%ecx
1407a7781:	e8 82 39 67 00       	call   0x140e1b108
1407a7786:	48 89 00             	mov    %rax,(%rax)
1407a7789:	48 89 40 08          	mov    %rax,0x8(%rax)
1407a778d:	48 89 40 10          	mov    %rax,0x10(%rax)
1407a7791:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
1407a7797:	48 89 03             	mov    %rax,(%rbx)
1407a779a:	48 89 2f             	mov    %rbp,(%rdi)
1407a779d:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
1407a77a1:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
1407a77a5:	66 c7 47 18 00 00    	movw   $0x0,0x18(%rdi)
1407a77ab:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
1407a77b0:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
1407a77b5:	4c 8b c7             	mov    %rdi,%r8
1407a77b8:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1407a77bd:	49 8b ce             	mov    %r14,%rcx
1407a77c0:	e8 cb 02 a4 ff       	call   0x1401e7a90
1407a77c5:	48 8b f8             	mov    %rax,%rdi
1407a77c8:	48 8d 47 40          	lea    0x40(%rdi),%rax
1407a77cc:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
1407a77d3:	00
1407a77d4:	48 83 c4 50          	add    $0x50,%rsp
1407a77d8:	41 5f                	pop    %r15
1407a77da:	41 5e                	pop    %r14
1407a77dc:	5f                   	pop    %rdi
1407a77dd:	5e                   	pop    %rsi
1407a77de:	5d                   	pop    %rbp
1407a77df:	c3                   	ret
1407a77e0:	e8 0b 10 a4 ff       	call   0x1401e87f0
1407a77e5:	cc                   	int3
1407a77e6:	cc                   	int3
1407a77e7:	cc                   	int3
1407a77e8:	cc                   	int3
1407a77e9:	cc                   	int3
1407a77ea:	cc                   	int3
1407a77eb:	cc                   	int3
1407a77ec:	cc                   	int3
1407a77ed:	cc                   	int3
1407a77ee:	cc                   	int3
1407a77ef:	cc                   	int3
1407a77f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407a77f5:	57                   	push   %rdi
1407a77f6:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1407a77fd:	48 8b fa             	mov    %rdx,%rdi
1407a7800:	48 8b d9             	mov    %rcx,%rbx
1407a7803:	48 85 d2             	test   %rdx,%rdx
1407a7806:	74 42                	je     0x1407a784a
1407a7808:	80 39 00             	cmpb   $0x0,(%rcx)
1407a780b:	74 10                	je     0x1407a781d
1407a780d:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
1407a7812:	0f 85 af 00 00 00    	jne    0x1407a78c7
1407a7818:	e9 fa 00 00 00       	jmp    0x1407a7917
1407a781d:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
1407a7824:	00 00
1407a7826:	45 33 c9             	xor    %r9d,%r9d
1407a7829:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1407a782d:	48 8b 51 10          	mov    0x10(%rcx),%rdx
1407a7831:	48 8b cf             	mov    %rdi,%rcx
1407a7834:	e8 87 2a fe ff       	call   0x14078a2c0
1407a7839:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1407a7840:	00
1407a7841:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1407a7848:	5f                   	pop    %rdi
1407a7849:	c3                   	ret
1407a784a:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1407a784e:	0f b6 03             	movzbl (%rbx),%eax
1407a7851:	48 85 c9             	test   %rcx,%rcx
1407a7854:	74 34                	je     0x1407a788a
1407a7856:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
1407a785a:	84 c0                	test   %al,%al
1407a785c:	0f 85 cd 00 00 00    	jne    0x1407a792f
1407a7862:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
1407a7869:	00 00
1407a786b:	45 33 c9             	xor    %r9d,%r9d
1407a786e:	45 33 c0             	xor    %r8d,%r8d
1407a7871:	48 8b d3             	mov    %rbx,%rdx
1407a7874:	e8 47 2a fe ff       	call   0x14078a2c0
1407a7879:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1407a7880:	00
1407a7881:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1407a7888:	5f                   	pop    %rdi
1407a7889:	c3                   	ret
1407a788a:	4c 8b 43 10          	mov    0x10(%rbx),%r8
1407a788e:	48 8b 0d 63 9c c8 00 	mov    0xc89c63(%rip),%rcx        # 0x1414314f8
1407a7895:	84 c0                	test   %al,%al
1407a7897:	75 1c                	jne    0x1407a78b5
1407a7899:	48 8d 15 10 0c 83 00 	lea    0x830c10(%rip),%rdx        # 0x140fd84b0
1407a78a0:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1407a78a7:	00
1407a78a8:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1407a78af:	5f                   	pop    %rdi
1407a78b0:	e9 0b bd fe ff       	jmp    0x1407935c0
1407a78b5:	4d 8b c8             	mov    %r8,%r9
1407a78b8:	4c 8d 05 f1 0b 83 00 	lea    0x830bf1(%rip),%r8        # 0x140fd84b0
1407a78bf:	33 d2                	xor    %edx,%edx
1407a78c1:	e8 2a cd fe ff       	call   0x1407945f0
1407a78c6:	cc                   	int3
1407a78c7:	45 33 c0             	xor    %r8d,%r8d
1407a78ca:	33 d2                	xor    %edx,%edx
1407a78cc:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1407a78d1:	e8 ca be 07 00       	call   0x1408237a0
1407a78d6:	90                   	nop
1407a78d7:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1407a78db:	48 8b 01             	mov    (%rcx),%rax
1407a78de:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1407a78e3:	48 8b 40 08          	mov    0x8(%rax),%rax
1407a78e7:	ff 15 33 c1 7d 00    	call   *0x7dc133(%rip)        # 0x140f83a20
1407a78ed:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1407a78f2:	e8 49 76 a6 ff       	call   0x14020ef40
1407a78f7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407a78fc:	4c 8b 4b 10          	mov    0x10(%rbx),%r9
1407a7900:	4c 8d 05 e9 f0 88 00 	lea    0x88f0e9(%rip),%r8        # 0x1410369f0
1407a7907:	48 8b d7             	mov    %rdi,%rdx
1407a790a:	48 8b 0d e7 9b c8 00 	mov    0xc89be7(%rip),%rcx        # 0x1414314f8
1407a7911:	e8 4a bd fe ff       	call   0x140793660
1407a7916:	90                   	nop
1407a7917:	4c 8b 49 10          	mov    0x10(%rcx),%r9
1407a791b:	4c 8d 05 8e 0b 83 00 	lea    0x830b8e(%rip),%r8        # 0x140fd84b0
1407a7922:	48 8b 0d cf 9b c8 00 	mov    0xc89bcf(%rip),%rcx        # 0x1414314f8
1407a7929:	e8 32 bd fe ff       	call   0x140793660
1407a792e:	cc                   	int3
1407a792f:	48 8b 01             	mov    (%rcx),%rax
1407a7932:	48 8b 40 10          	mov    0x10(%rax),%rax
1407a7936:	ff 15 e4 c0 7d 00    	call   *0x7dc0e4(%rip)        # 0x140f83a20
1407a793c:	4c 8b cb             	mov    %rbx,%r9
1407a793f:	4c 8d 05 6a 0b 83 00 	lea    0x830b6a(%rip),%r8        # 0x140fd84b0
1407a7946:	48 8b d0             	mov    %rax,%rdx
1407a7949:	48 8b 0d a8 9b c8 00 	mov    0xc89ba8(%rip),%rcx        # 0x1414314f8
1407a7950:	e8 9b cc fe ff       	call   0x1407945f0
1407a7955:	cc                   	int3
1407a7956:	cc                   	int3
1407a7957:	cc                   	int3
1407a7958:	cc                   	int3
1407a7959:	cc                   	int3
1407a795a:	cc                   	int3
1407a795b:	cc                   	int3
1407a795c:	cc                   	int3
1407a795d:	cc                   	int3
1407a795e:	cc                   	int3
1407a795f:	cc                   	int3
1407a7960:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407a7965:	57                   	push   %rdi
1407a7966:	48 83 ec 20          	sub    $0x20,%rsp
1407a796a:	8b da                	mov    %edx,%ebx
1407a796c:	48 8b f9             	mov    %rcx,%rdi
1407a796f:	e8 dc d4 fd ff       	call   0x140784e50
1407a7974:	f6 c3 01             	test   $0x1,%bl
1407a7977:	74 0d                	je     0x1407a7986
1407a7979:	ba 28 00 00 00       	mov    $0x28,%edx
1407a797e:	48 8b cf             	mov    %rdi,%rcx
1407a7981:	e8 be 37 67 00       	call   0x140e1b144
1407a7986:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407a798b:	48 8b c7             	mov    %rdi,%rax
1407a798e:	48 83 c4 20          	add    $0x20,%rsp
1407a7992:	5f                   	pop    %rdi
1407a7993:	c3                   	ret
1407a7994:	cc                   	int3
1407a7995:	cc                   	int3
1407a7996:	cc                   	int3
1407a7997:	cc                   	int3
1407a7998:	cc                   	int3
1407a7999:	cc                   	int3
1407a799a:	cc                   	int3
1407a799b:	cc                   	int3
1407a799c:	cc                   	int3
1407a799d:	cc                   	int3
1407a799e:	cc                   	int3
1407a799f:	cc                   	int3
1407a79a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407a79a5:	57                   	push   %rdi
1407a79a6:	48 83 ec 20          	sub    $0x20,%rsp
1407a79aa:	48 8d 05 97 51 88 00 	lea    0x885197(%rip),%rax        # 0x14102cb48
1407a79b1:	8b da                	mov    %edx,%ebx
1407a79b3:	48 89 01             	mov    %rax,(%rcx)
1407a79b6:	48 8b f9             	mov    %rcx,%rdi
1407a79b9:	e8 72 4c ab ff       	call   0x14025c630
1407a79be:	f6 c3 01             	test   $0x1,%bl
1407a79c1:	74 0d                	je     0x1407a79d0
1407a79c3:	ba 80 00 00 00       	mov    $0x80,%edx
1407a79c8:	48 8b cf             	mov    %rdi,%rcx
1407a79cb:	e8 74 37 67 00       	call   0x140e1b144
1407a79d0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407a79d5:	48 8b c7             	mov    %rdi,%rax
1407a79d8:	48 83 c4 20          	add    $0x20,%rsp
1407a79dc:	5f                   	pop    %rdi
1407a79dd:	c3                   	ret
1407a79de:	cc                   	int3
1407a79df:	cc                   	int3
1407a79e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407a79e5:	57                   	push   %rdi
1407a79e6:	48 83 ec 20          	sub    $0x20,%rsp
1407a79ea:	8b fa                	mov    %edx,%edi
1407a79ec:	48 8b d9             	mov    %rcx,%rbx
1407a79ef:	48 8d 05 12 7a 88 00 	lea    0x887a12(%rip),%rax        # 0x14102f408
1407a79f6:	48 89 01             	mov    %rax,(%rcx)
1407a79f9:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1407a79fd:	48 85 c9             	test   %rcx,%rcx
1407a7a00:	74 20                	je     0x1407a7a22
1407a7a02:	8b 41 10             	mov    0x10(%rcx),%eax
1407a7a05:	ff c8                	dec    %eax
1407a7a07:	89 41 10             	mov    %eax,0x10(%rcx)
1407a7a0a:	85 c0                	test   %eax,%eax
1407a7a0c:	7f 14                	jg     0x1407a7a22
1407a7a0e:	78 33                	js     0x1407a7a43
1407a7a10:	48 8b 01             	mov    (%rcx),%rax
1407a7a13:	ba 01 00 00 00       	mov    $0x1,%edx
1407a7a18:	48 8b 00             	mov    (%rax),%rax
1407a7a1b:	ff 15 ff bf 7d 00    	call   *0x7dbfff(%rip)        # 0x140f83a20
1407a7a21:	90                   	nop
1407a7a22:	40 f6 c7 01          	test   $0x1,%dil
1407a7a26:	74 0d                	je     0x1407a7a35
1407a7a28:	ba 20 00 00 00       	mov    $0x20,%edx
1407a7a2d:	48 8b cb             	mov    %rbx,%rcx
1407a7a30:	e8 0f 37 67 00       	call   0x140e1b144
1407a7a35:	48 8b c3             	mov    %rbx,%rax
1407a7a38:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407a7a3d:	48 83 c4 20          	add    $0x20,%rsp
1407a7a41:	5f                   	pop    %rdi
1407a7a42:	c3                   	ret
1407a7a43:	b9 02 00 00 00       	mov    $0x2,%ecx
1407a7a48:	e8 b3 2c fe ff       	call   0x14078a700
1407a7a4d:	cc                   	int3
1407a7a4e:	cc                   	int3
1407a7a4f:	cc                   	int3
1407a7a50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407a7a55:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1407a7a5a:	57                   	push   %rdi
1407a7a5b:	48 83 ec 20          	sub    $0x20,%rsp
1407a7a5f:	8b f2                	mov    %edx,%esi
1407a7a61:	48 8b d9             	mov    %rcx,%rbx
1407a7a64:	48 8d 05 4d 50 88 00 	lea    0x88504d(%rip),%rax        # 0x14102cab8
1407a7a6b:	48 89 01             	mov    %rax,(%rcx)
1407a7a6e:	48 8b 89 88 00 00 00 	mov    0x88(%rcx),%rcx
1407a7a75:	48 85 c9             	test   %rcx,%rcx
1407a7a78:	74 11                	je     0x1407a7a8b