140e045ce:	66 44 3b e0          	cmp    %ax,%r12w
140e045d2:	74 06                	je     0x140e045da
140e045d4:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e045d8:	eb 03                	jmp    0x140e045dd
140e045da:	4c 89 07             	mov    %r8,(%rdi)
140e045dd:	88 5f 08             	mov    %bl,0x8(%rdi)
140e045e0:	66 44 39 6f 0a       	cmp    %r13w,0xa(%rdi)
140e045e5:	75 6b                	jne    0x140e04652
140e045e7:	40 8a f3             	mov    %bl,%sil
140e045ea:	48 8b 0f             	mov    (%rdi),%rcx
140e045ed:	48 85 c9             	test   %rcx,%rcx
140e045f0:	74 42                	je     0x140e04634
140e045f2:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e045f6:	4c 39 00             	cmp    %r8,(%rax)
140e045f9:	74 1e                	je     0x140e04619
140e045fb:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e045ff:	44 39 00             	cmp    %r8d,(%rax)
140e04602:	7e 15                	jle    0x140e04619
140e04604:	ff 08                	decl   (%rax)
140e04606:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e0460a:	48 8b 11             	mov    (%rcx),%rdx
140e0460d:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04611:	48 89 01             	mov    %rax,(%rcx)
140e04614:	0f b7 02             	movzwl (%rdx),%eax
140e04617:	eb 10                	jmp    0x140e04629
140e04619:	48 8b 01             	mov    (%rcx),%rax
140e0461c:	48 8b 40 38          	mov    0x38(%rax),%rax
140e04620:	ff 15 fa f3 17 00    	call   *0x17f3fa(%rip)        # 0x140f83a20
140e04626:	45 33 c0             	xor    %r8d,%r8d
140e04629:	66 44 3b e0          	cmp    %ax,%r12w
140e0462d:	74 05                	je     0x140e04634
140e0462f:	41 8a c0             	mov    %r8b,%al
140e04632:	eb 05                	jmp    0x140e04639
140e04634:	4c 89 07             	mov    %r8,(%rdi)
140e04637:	8a c3                	mov    %bl,%al
140e04639:	88 47 08             	mov    %al,0x8(%rdi)
140e0463c:	49 8b d6             	mov    %r14,%rdx
140e0463f:	48 8b cf             	mov    %rdi,%rcx
140e04642:	e8 61 2a 01 00       	call   0x140e170a8
140e04647:	45 33 c0             	xor    %r8d,%r8d
140e0464a:	84 c0                	test   %al,%al
140e0464c:	0f 84 44 ff ff ff    	je     0x140e04596
140e04652:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e04657:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e0465c:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e04661:	49 8b d6             	mov    %r14,%rdx
140e04664:	48 8b cf             	mov    %rdi,%rcx
140e04667:	e8 3c 2a 01 00       	call   0x140e170a8
140e0466c:	33 d2                	xor    %edx,%edx
140e0466e:	84 c0                	test   %al,%al
140e04670:	0f 85 2f 01 00 00    	jne    0x140e047a5
140e04676:	49 bc cc cc cc cc cc 	movabs $0xccccccccccccccc,%r12
140e0467d:	cc cc 0c
140e04680:	44 8d 7a 01          	lea    0x1(%rdx),%r15d
140e04684:	38 57 08             	cmp    %dl,0x8(%rdi)
140e04687:	75 50                	jne    0x140e046d9
140e04689:	48 8b 0f             	mov    (%rdi),%rcx
140e0468c:	48 85 c9             	test   %rcx,%rcx
140e0468f:	74 3c                	je     0x140e046cd
140e04691:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04695:	48 8b 10             	mov    (%rax),%rdx
140e04698:	45 33 ed             	xor    %r13d,%r13d
140e0469b:	48 85 d2             	test   %rdx,%rdx
140e0469e:	74 0e                	je     0x140e046ae
140e046a0:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e046a4:	44 39 28             	cmp    %r13d,(%rax)
140e046a7:	7e 05                	jle    0x140e046ae
140e046a9:	0f b7 02             	movzwl (%rdx),%eax
140e046ac:	eb 0d                	jmp    0x140e046bb
140e046ae:	48 8b 01             	mov    (%rcx),%rax
140e046b1:	48 8b 40 30          	mov    0x30(%rax),%rax
140e046b5:	ff 15 65 f3 17 00    	call   *0x17f365(%rip)        # 0x140f83a20
140e046bb:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e046c0:	66 3b c8             	cmp    %ax,%cx
140e046c3:	74 06                	je     0x140e046cb
140e046c5:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e046c9:	eb 08                	jmp    0x140e046d3
140e046cb:	33 d2                	xor    %edx,%edx
140e046cd:	48 89 17             	mov    %rdx,(%rdi)
140e046d0:	45 33 ed             	xor    %r13d,%r13d
140e046d3:	44 88 7f 08          	mov    %r15b,0x8(%rdi)
140e046d7:	eb 03                	jmp    0x140e046dc
140e046d9:	45 33 ed             	xor    %r13d,%r13d
140e046dc:	44 0f b7 47 0a       	movzwl 0xa(%rdi),%r8d
140e046e1:	48 8d 55 07          	lea    0x7(%rbp),%rdx
140e046e5:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140e046e9:	e8 42 89 ff ff       	call   0x140dfd030
140e046ee:	48 8b c8             	mov    %rax,%rcx
140e046f1:	48 8d 45 cf          	lea    -0x31(%rbp),%rax
140e046f5:	48 2b c8             	sub    %rax,%rcx
140e046f8:	48 d1 f9             	sar    $1,%rcx
140e046fb:	48 83 f9 0a          	cmp    $0xa,%rcx
140e046ff:	0f 83 8f 00 00 00    	jae    0x140e04794
140e04705:	49 3b dc             	cmp    %r12,%rbx
140e04708:	7c 14                	jl     0x140e0471e
140e0470a:	75 06                	jne    0x140e04712
140e0470c:	48 83 f9 07          	cmp    $0x7,%rcx
140e04710:	7e 0c                	jle    0x140e0471e
140e04712:	48 bb ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rbx
140e04719:	ff ff 7f
140e0471c:	eb 08                	jmp    0x140e04726
140e0471e:	48 8d 04 9b          	lea    (%rbx,%rbx,4),%rax
140e04722:	48 8d 1c 41          	lea    (%rcx,%rax,2),%rbx
140e04726:	41 8a f7             	mov    %r15b,%sil
140e04729:	48 8b 0f             	mov    (%rdi),%rcx
140e0472c:	48 85 c9             	test   %rcx,%rcx
140e0472f:	74 43                	je     0x140e04774
140e04731:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04735:	4c 39 28             	cmp    %r13,(%rax)
140e04738:	74 1e                	je     0x140e04758
140e0473a:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e0473e:	44 39 28             	cmp    %r13d,(%rax)
140e04741:	7e 15                	jle    0x140e04758
140e04743:	ff 08                	decl   (%rax)
140e04745:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04749:	48 8b 11             	mov    (%rcx),%rdx
140e0474c:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04750:	48 89 01             	mov    %rax,(%rcx)
140e04753:	0f b7 02             	movzwl (%rdx),%eax
140e04756:	eb 0d                	jmp    0x140e04765
140e04758:	48 8b 01             	mov    (%rcx),%rax
140e0475b:	48 8b 40 38          	mov    0x38(%rax),%rax
140e0475f:	ff 15 bb f2 17 00    	call   *0x17f2bb(%rip)        # 0x140f83a20
140e04765:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e0476a:	66 3b c8             	cmp    %ax,%cx
140e0476d:	74 05                	je     0x140e04774
140e0476f:	41 8a c5             	mov    %r13b,%al
140e04772:	eb 06                	jmp    0x140e0477a
140e04774:	4c 89 2f             	mov    %r13,(%rdi)
140e04777:	41 8a c7             	mov    %r15b,%al
140e0477a:	88 47 08             	mov    %al,0x8(%rdi)
140e0477d:	49 8b d6             	mov    %r14,%rdx
140e04780:	48 8b cf             	mov    %rdi,%rcx
140e04783:	e8 20 29 01 00       	call   0x140e170a8
140e04788:	33 d2                	xor    %edx,%edx
140e0478a:	84 c0                	test   %al,%al
140e0478c:	0f 84 f2 fe ff ff    	je     0x140e04684
140e04792:	eb 02                	jmp    0x140e04796
140e04794:	33 d2                	xor    %edx,%edx
140e04796:	44 8a 7c 24 33       	mov    0x33(%rsp),%r15b
140e0479b:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e047a0:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e047a5:	48 8b c3             	mov    %rbx,%rax
140e047a8:	48 f7 db             	neg    %rbx
140e047ab:	45 84 ff             	test   %r15b,%r15b
140e047ae:	48 0f 44 d8          	cmove  %rax,%rbx
140e047b2:	40 84 f6             	test   %sil,%sil
140e047b5:	0f 84 be 01 00 00    	je     0x140e04979
140e047bb:	41 8a c5             	mov    %r13b,%al
140e047be:	f6 d8                	neg    %al
140e047c0:	4d 1b c0             	sbb    %r8,%r8
140e047c3:	41 81 e0 1c 0c 00 00 	and    $0xc1c,%r8d
140e047ca:	b9 4c 04 00 00       	mov    $0x44c,%ecx
140e047cf:	4c 03 c1             	add    %rcx,%r8
140e047d2:	41 8a c5             	mov    %r13b,%al
140e047d5:	f6 d8                	neg    %al
140e047d7:	4d 1b d2             	sbb    %r10,%r10
140e047da:	49 83 e2 ce          	and    $0xffffffffffffffce,%r10
140e047de:	4c 03 d1             	add    %rcx,%r10
140e047e1:	4c 8b 5c 24 58       	mov    0x58(%rsp),%r11
140e047e6:	4d 8b cb             	mov    %r11,%r9
140e047e9:	48 85 db             	test   %rbx,%rbx
140e047ec:	78 1a                	js     0x140e04808
140e047ee:	4d 85 c9             	test   %r9,%r9
140e047f1:	78 12                	js     0x140e04805
140e047f3:	49 3b d8             	cmp    %r8,%rbx
140e047f6:	0f 8d d4 00 00 00    	jge    0x140e048d0
140e047fc:	4d 3b ca             	cmp    %r10,%r9
140e047ff:	0f 8d cb 00 00 00    	jge    0x140e048d0
140e04805:	48 85 db             	test   %rbx,%rbx
140e04808:	7f 1f                	jg     0x140e04829
140e0480a:	4d 85 c9             	test   %r9,%r9
140e0480d:	7f 1a                	jg     0x140e04829
140e0480f:	49 8b c8             	mov    %r8,%rcx
140e04812:	48 f7 d9             	neg    %rcx
140e04815:	48 3b d9             	cmp    %rcx,%rbx
140e04818:	0f 8e 86 00 00 00    	jle    0x140e048a4
140e0481e:	49 8b c2             	mov    %r10,%rax
140e04821:	48 f7 d8             	neg    %rax
140e04824:	4c 3b c8             	cmp    %rax,%r9
140e04827:	7e 7b                	jle    0x140e048a4
140e04829:	48 8b cb             	mov    %rbx,%rcx
140e0482c:	48 f7 d9             	neg    %rcx
140e0482f:	48 0f 48 cb          	cmovs  %rbx,%rcx
140e04833:	49 3b c8             	cmp    %r8,%rcx
140e04836:	7f 0f                	jg     0x140e04847
140e04838:	49 8b c1             	mov    %r9,%rax
140e0483b:	48 f7 d8             	neg    %rax
140e0483e:	49 0f 48 c1          	cmovs  %r9,%rax
140e04842:	49 3b c2             	cmp    %r10,%rax
140e04845:	7e 62                	jle    0x140e048a9
140e04847:	45 84 ed             	test   %r13b,%r13b
140e0484a:	74 14                	je     0x140e04860
140e0484c:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
140e04850:	48 99                	cqto
140e04852:	83 e2 03             	and    $0x3,%edx
140e04855:	48 8d 0c 02          	lea    (%rdx,%rax,1),%rcx
140e04859:	48 c1 f9 02          	sar    $0x2,%rcx
140e0485d:	48 ff c1             	inc    %rcx
140e04860:	49 8b c3             	mov    %r11,%rax
140e04863:	48 f7 d8             	neg    %rax
140e04866:	49 0f 48 c3          	cmovs  %r11,%rax
140e0486a:	48 3b c1             	cmp    %rcx,%rax
140e0486d:	48 0f 4c c8          	cmovl  %rax,%rcx
140e04871:	48 8d 14 8d 00 00 00 	lea    0x0(,%rcx,4),%rdx
140e04878:	00
140e04879:	48 8b c1             	mov    %rcx,%rax
140e0487c:	48 85 db             	test   %rbx,%rbx
140e0487f:	78 0f                	js     0x140e04890
140e04881:	45 84 ed             	test   %r13b,%r13b
140e04884:	48 0f 45 c2          	cmovne %rdx,%rax
140e04888:	48 2b d8             	sub    %rax,%rbx
140e0488b:	4c 03 c9             	add    %rcx,%r9
140e0488e:	eb 0d                	jmp    0x140e0489d
140e04890:	45 84 ed             	test   %r13b,%r13b
140e04893:	48 0f 45 c2          	cmovne %rdx,%rax
140e04897:	48 03 d8             	add    %rax,%rbx
140e0489a:	4c 2b c9             	sub    %rcx,%r9
140e0489d:	33 d2                	xor    %edx,%edx
140e0489f:	e9 45 ff ff ff       	jmp    0x140e047e9
140e048a4:	4c 8b c1             	mov    %rcx,%r8
140e048a7:	eb 27                	jmp    0x140e048d0
140e048a9:	4a 8d 04 8d 00 00 00 	lea    0x0(,%r9,4),%rax
140e048b0:	00
140e048b1:	45 84 ed             	test   %r13b,%r13b
140e048b4:	4c 0f 45 c8          	cmovne %rax,%r9
140e048b8:	49 03 d9             	add    %r9,%rbx
140e048bb:	49 3b d8             	cmp    %r8,%rbx
140e048be:	7f 10                	jg     0x140e048d0
140e048c0:	49 f7 d8             	neg    %r8
140e048c3:	49 8b c0             	mov    %r8,%rax
140e048c6:	4c 8b c3             	mov    %rbx,%r8
140e048c9:	48 3b d8             	cmp    %rax,%rbx
140e048cc:	4c 0f 4c c0          	cmovl  %rax,%r8
140e048d0:	4d 85 c0             	test   %r8,%r8
140e048d3:	0f 84 80 00 00 00    	je     0x140e04959
140e048d9:	41 8a c5             	mov    %r13b,%al
140e048dc:	f6 d8                	neg    %al
140e048de:	1a c9                	sbb    %cl,%cl
140e048e0:	80 e1 0b             	and    $0xb,%cl
140e048e3:	80 c1 65             	add    $0x65,%cl
140e048e6:	41 88 0c 24          	mov    %cl,(%r12)
140e048ea:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140e048f0:	4d 03 e2             	add    %r10,%r12
140e048f3:	4d 85 c0             	test   %r8,%r8
140e048f6:	79 08                	jns    0x140e04900
140e048f8:	41 c6 04 24 2d       	movb   $0x2d,(%r12)
140e048fd:	4d 03 e2             	add    %r10,%r12
140e04900:	49 8b cc             	mov    %r12,%rcx
140e04903:	4d 8b c8             	mov    %r8,%r9
140e04906:	49 f7 d9             	neg    %r9
140e04909:	4d 0f 48 c8          	cmovs  %r8,%r9
140e0490d:	4d 85 c9             	test   %r9,%r9
140e04910:	74 3d                	je     0x140e0494f
140e04912:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140e04919:	66 66 66
140e0491c:	49 f7 e9             	imul   %r9
140e0491f:	48 c1 fa 02          	sar    $0x2,%rdx
140e04923:	48 8b c2             	mov    %rdx,%rax
140e04926:	48 c1 e8 3f          	shr    $0x3f,%rax
140e0492a:	48 03 d0             	add    %rax,%rdx
140e0492d:	8a c2                	mov    %dl,%al
140e0492f:	c0 e0 02             	shl    $0x2,%al
140e04932:	44 8d 04 10          	lea    (%rax,%rdx,1),%r8d
140e04936:	45 02 c0             	add    %r8b,%r8b
140e04939:	45 2a c8             	sub    %r8b,%r9b
140e0493c:	41 80 c1 30          	add    $0x30,%r9b
140e04940:	45 88 0c 24          	mov    %r9b,(%r12)
140e04944:	4d 03 e2             	add    %r10,%r12
140e04947:	4c 8b ca             	mov    %rdx,%r9
140e0494a:	48 85 d2             	test   %rdx,%rdx
140e0494d:	75 c3                	jne    0x140e04912
140e0494f:	49 8b d4             	mov    %r12,%rdx
140e04952:	e8 f9 86 ff ff       	call   0x140dfd050
140e04957:	33 d2                	xor    %edx,%edx
140e04959:	41 88 14 24          	mov    %dl,(%r12)
140e0495d:	41 f6 dd             	neg    %r13b
140e04960:	1a c0                	sbb    %al,%al
140e04962:	24 06                	and    $0x6,%al
140e04964:	04 0a                	add    $0xa,%al
140e04966:	88 44 24 36          	mov    %al,0x36(%rsp)
140e0496a:	8a 44 24 30          	mov    0x30(%rsp),%al
140e0496e:	88 44 24 37          	mov    %al,0x37(%rsp)
140e04972:	0f b7 5c 24 36       	movzwl 0x36(%rsp),%ebx
140e04977:	eb 0b                	jmp    0x140e04984
140e04979:	66 83 64 24 33 00    	andw   $0x0,0x33(%rsp)
140e0497f:	0f b7 5c 24 33       	movzwl 0x33(%rsp),%ebx
140e04984:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140e04988:	e8 c3 30 39 ff       	call   0x140197a50
140e0498d:	0f b7 c3             	movzwl %bx,%eax
140e04990:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
140e04994:	48 33 cc             	xor    %rsp,%rcx
140e04997:	e8 64 6b 01 00       	call   0x140e1b500
140e0499c:	48 8b 9c 24 48 01 00 	mov    0x148(%rsp),%rbx
140e049a3:	00
140e049a4:	48 81 c4 00 01 00 00 	add    $0x100,%rsp
140e049ab:	41 5f                	pop    %r15
140e049ad:	41 5e                	pop    %r14
140e049af:	41 5d                	pop    %r13
140e049b1:	41 5c                	pop    %r12
140e049b3:	5f                   	pop    %rdi
140e049b4:	5e                   	pop    %rsi
140e049b5:	5d                   	pop    %rbp
140e049b6:	c3                   	ret
140e049b7:	cc                   	int3
140e049b8:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140e049bd:	55                   	push   %rbp
140e049be:	56                   	push   %rsi
140e049bf:	57                   	push   %rdi
140e049c0:	41 54                	push   %r12
140e049c2:	41 55                	push   %r13
140e049c4:	41 56                	push   %r14
140e049c6:	41 57                	push   %r15
140e049c8:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
140e049cd:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
140e049d4:	48 8b 05 25 45 5b 00 	mov    0x5b4525(%rip),%rax        # 0x1413b8f00
140e049db:	48 33 c4             	xor    %rsp,%rax
140e049de:	48 89 45 0f          	mov    %rax,0xf(%rbp)
140e049e2:	45 8b f1             	mov    %r9d,%r14d
140e049e5:	44 89 4d 87          	mov    %r9d,-0x79(%rbp)
140e049e9:	4d 8b e8             	mov    %r8,%r13
140e049ec:	4c 89 45 8f          	mov    %r8,-0x71(%rbp)
140e049f0:	48 8b da             	mov    %rdx,%rbx
140e049f3:	4c 8b e1             	mov    %rcx,%r12
140e049f6:	48 8b 75 7f          	mov    0x7f(%rbp),%rsi
140e049fa:	48 8b ce             	mov    %rsi,%rcx
140e049fd:	e8 ea 30 00 00       	call   0x140e07aec
140e04a02:	48 8b f8             	mov    %rax,%rdi
140e04a05:	48 8b 08             	mov    (%rax),%rcx
140e04a08:	48 8b 41 28          	mov    0x28(%rcx),%rax
140e04a0c:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140e04a10:	48 8b cf             	mov    %rdi,%rcx
140e04a13:	ff 15 07 f0 17 00    	call   *0x17f007(%rip)        # 0x140f83a20
140e04a19:	90                   	nop
140e04a1a:	48 83 7d c7 00       	cmpq   $0x0,-0x39(%rbp)
140e04a1f:	75 0c                	jne    0x140e04a2d
140e04a21:	33 ff                	xor    %edi,%edi
140e04a23:	44 0f b7 ff          	movzwl %di,%r15d
140e04a27:	66 89 7d 83          	mov    %di,-0x7d(%rbp)
140e04a2b:	eb 1a                	jmp    0x140e04a47
140e04a2d:	48 8b 07             	mov    (%rdi),%rax
140e04a30:	48 8b cf             	mov    %rdi,%rcx
140e04a33:	48 8b 40 20          	mov    0x20(%rax),%rax
140e04a37:	ff 15 e3 ef 17 00    	call   *0x17efe3(%rip)        # 0x140f83a20
140e04a3d:	44 0f b7 f8          	movzwl %ax,%r15d
140e04a41:	66 89 45 83          	mov    %ax,-0x7d(%rbp)
140e04a45:	33 ff                	xor    %edi,%edi
140e04a47:	48 8b ce             	mov    %rsi,%rcx
140e04a4a:	e8 4d 21 00 00       	call   0x140e06b9c
140e04a4f:	4c 8b d0             	mov    %rax,%r10