140990656:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14099065d:	00 00 00
140990660:	0f b6 01             	movzbl (%rcx),%eax
140990663:	41 0f b7 54 45 00    	movzwl 0x0(%r13,%rax,2),%edx
140990669:	66 41 3b d4          	cmp    %r12w,%dx
14099066d:	73 07                	jae    0x140990676
14099066f:	b8 01 00 00 00       	mov    $0x1,%eax
140990674:	eb 09                	jmp    0x14099067f
140990676:	66 41 3b d1          	cmp    %r9w,%dx
14099067a:	1b c0                	sbb    %eax,%eax
14099067c:	83 c0 03             	add    $0x3,%eax
14099067f:	03 f8                	add    %eax,%edi
140990681:	48 ff c1             	inc    %rcx
140990684:	49 83 e8 01          	sub    $0x1,%r8
140990688:	75 d6                	jne    0x140990660
14099068a:	8b cf                	mov    %edi,%ecx
14099068c:	e8 9b 20 4a 00       	call   0x140e3272c
140990691:	4c 8b d0             	mov    %rax,%r10
140990694:	48 85 c0             	test   %rax,%rax
140990697:	75 15                	jne    0x1409906ae
140990699:	45 33 c0             	xor    %r8d,%r8d
14099069c:	8d 50 0e             	lea    0xe(%rax),%edx
14099069f:	49 8b cf             	mov    %r15,%rcx
1409906a2:	e8 e9 72 ff ff       	call   0x140987990
1409906a7:	33 c0                	xor    %eax,%eax
1409906a9:	e9 91 00 00 00       	jmp    0x14099073f
1409906ae:	45 33 c9             	xor    %r9d,%r9d
1409906b1:	85 ed                	test   %ebp,%ebp
1409906b3:	74 78                	je     0x14099072d
1409906b5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1409906bc:	00 00 00 00
1409906c0:	0f b6 03             	movzbl (%rbx),%eax
1409906c3:	41 8b d1             	mov    %r9d,%edx
1409906c6:	49 03 d2             	add    %r10,%rdx
1409906c9:	41 0f b7 4c 45 00    	movzwl 0x0(%r13,%rax,2),%ecx
1409906cf:	41 3b cc             	cmp    %r12d,%ecx
1409906d2:	73 08                	jae    0x1409906dc
1409906d4:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1409906da:	eb 43                	jmp    0x14099071f
1409906dc:	44 0f b6 c1          	movzbl %cl,%r8d
1409906e0:	8b c1                	mov    %ecx,%eax
1409906e2:	41 80 e0 3f          	and    $0x3f,%r8b
1409906e6:	c1 e8 06             	shr    $0x6,%eax
1409906e9:	45 0a c4             	or     %r12b,%r8b
1409906ec:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
1409906f2:	73 13                	jae    0x140990707
1409906f4:	24 1f                	and    $0x1f,%al
1409906f6:	44 88 42 01          	mov    %r8b,0x1(%rdx)
1409906fa:	0c c0                	or     $0xc0,%al
1409906fc:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140990702:	0f b6 c8             	movzbl %al,%ecx
140990705:	eb 18                	jmp    0x14099071f
140990707:	24 3f                	and    $0x3f,%al
140990709:	c1 e9 0c             	shr    $0xc,%ecx
14099070c:	41 0a c4             	or     %r12b,%al
14099070f:	44 88 42 02          	mov    %r8b,0x2(%rdx)
140990713:	88 42 01             	mov    %al,0x1(%rdx)
140990716:	80 c9 e0             	or     $0xe0,%cl
140990719:	41 b8 03 00 00 00    	mov    $0x3,%r8d
14099071f:	45 03 c8             	add    %r8d,%r9d
140990722:	88 0a                	mov    %cl,(%rdx)
140990724:	48 ff c3             	inc    %rbx
140990727:	48 83 ee 01          	sub    $0x1,%rsi
14099072b:	75 93                	jne    0x1409906c0
14099072d:	ff cf                	dec    %edi
14099072f:	42 c6 04 17 00       	movb   $0x0,(%rdi,%r10,1)
140990734:	4d 85 f6             	test   %r14,%r14
140990737:	74 03                	je     0x14099073c
140990739:	41 89 3e             	mov    %edi,(%r14)
14099073c:	49 8b c2             	mov    %r10,%rax
14099073f:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
140990744:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140990749:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14099074e:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140990753:	48 83 c4 28          	add    $0x28,%rsp
140990757:	41 5f                	pop    %r15
140990759:	41 5e                	pop    %r14
14099075b:	5d                   	pop    %rbp
14099075c:	5b                   	pop    %rbx
14099075d:	c3                   	ret
14099075e:	cc                   	int3
14099075f:	cc                   	int3
140990760:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140990765:	56                   	push   %rsi
140990766:	48 8b f1             	mov    %rcx,%rsi
140990769:	48 85 c9             	test   %rcx,%rcx
14099076c:	75 0a                	jne    0x140990778
14099076e:	8d 41 01             	lea    0x1(%rcx),%eax
140990771:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
140990776:	5e                   	pop    %rsi
140990777:	c3                   	ret
140990778:	44 8b 51 0c          	mov    0xc(%rcx),%r10d
14099077c:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140990781:	48 8b 39             	mov    (%rcx),%rdi
140990784:	45 85 d2             	test   %r10d,%r10d
140990787:	0f 85 cd 00 00 00    	jne    0x14099085a
14099078d:	44 0f b7 59 08       	movzwl 0x8(%rcx),%r11d
140990792:	45 33 c9             	xor    %r9d,%r9d
140990795:	41 ba 01 00 00 00    	mov    $0x1,%r10d
14099079b:	66 45 3b cb          	cmp    %r11w,%r9w
14099079f:	0f 83 b5 00 00 00    	jae    0x14099085a
1409907a5:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1409907aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1409907b0:	41 0f b6 0c 39       	movzbl (%r9,%rdi,1),%ecx
1409907b5:	80 f9 1f             	cmp    $0x1f,%cl
1409907b8:	76 09                	jbe    0x1409907c3
1409907ba:	41 0f b7 c3          	movzwl %r11w,%eax
1409907be:	80 f9 80             	cmp    $0x80,%cl
1409907c1:	72 7b                	jb     0x14099083e
1409907c3:	41 0f b7 c3          	movzwl %r11w,%eax
1409907c7:	80 f9 0d             	cmp    $0xd,%cl
1409907ca:	74 72                	je     0x14099083e
1409907cc:	80 f9 0a             	cmp    $0xa,%cl
1409907cf:	74 6d                	je     0x14099083e
1409907d1:	80 f9 09             	cmp    $0x9,%cl
1409907d4:	74 68                	je     0x14099083e
1409907d6:	0f b6 c1             	movzbl %cl,%eax
1409907d9:	41 ba 03 00 00 00    	mov    $0x3,%r10d
1409907df:	24 e0                	and    $0xe0,%al
1409907e1:	3c c0                	cmp    $0xc0,%al
1409907e3:	75 06                	jne    0x1409907eb
1409907e5:	45 8d 42 fe          	lea    -0x2(%r10),%r8d
1409907e9:	eb 1c                	jmp    0x140990807
1409907eb:	0f b6 c1             	movzbl %cl,%eax
1409907ee:	24 f0                	and    $0xf0,%al
1409907f0:	3c e0                	cmp    $0xe0,%al
1409907f2:	75 08                	jne    0x1409907fc
1409907f4:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1409907fa:	eb 0b                	jmp    0x140990807
1409907fc:	80 e1 f8             	and    $0xf8,%cl
1409907ff:	80 f9 f0             	cmp    $0xf0,%cl
140990802:	75 4b                	jne    0x14099084f
140990804:	45 8b c2             	mov    %r10d,%r8d
140990807:	43 8d 1c 08          	lea    (%r8,%r9,1),%ebx
14099080b:	41 3b db             	cmp    %r11d,%ebx
14099080e:	73 3f                	jae    0x14099084f
140990810:	b8 01 00 00 00       	mov    $0x1,%eax
140990815:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14099081c:	00 00 00 00
140990820:	42 8d 0c 08          	lea    (%rax,%r9,1),%ecx
140990824:	0f b6 0c 39          	movzbl (%rcx,%rdi,1),%ecx
140990828:	80 e1 c0             	and    $0xc0,%cl
14099082b:	80 f9 80             	cmp    $0x80,%cl
14099082e:	75 1f                	jne    0x14099084f
140990830:	ff c0                	inc    %eax
140990832:	41 3b c0             	cmp    %r8d,%eax
140990835:	76 e9                	jbe    0x140990820
140990837:	41 0f b7 c3          	movzwl %r11w,%eax
14099083b:	44 8b cb             	mov    %ebx,%r9d
14099083e:	41 ff c1             	inc    %r9d
140990841:	0f b7 c0             	movzwl %ax,%eax
140990844:	44 3b c8             	cmp    %eax,%r9d
140990847:	0f 82 63 ff ff ff    	jb     0x1409907b0
14099084d:	eb 06                	jmp    0x140990855
14099084f:	41 ba 04 00 00 00    	mov    $0x4,%r10d
140990855:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
14099085a:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14099085f:	44 89 56 0c          	mov    %r10d,0xc(%rsi)
140990863:	85 d2                	test   %edx,%edx
140990865:	74 27                	je     0x14099088e
140990867:	83 fa 02             	cmp    $0x2,%edx
14099086a:	75 12                	jne    0x14099087e
14099086c:	41 83 fa 03          	cmp    $0x3,%r10d
140990870:	75 0c                	jne    0x14099087e
140990872:	89 56 0c             	mov    %edx,0xc(%rsi)
140990875:	8b c2                	mov    %edx,%eax
140990877:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
14099087c:	5e                   	pop    %rsi
14099087d:	c3                   	ret
14099087e:	41 3b d2             	cmp    %r10d,%edx
140990881:	74 0b                	je     0x14099088e
140990883:	b8 05 00 00 00       	mov    $0x5,%eax
140990888:	41 83 fa 01          	cmp    $0x1,%r10d
14099088c:	75 03                	jne    0x140990891
14099088e:	41 8b c2             	mov    %r10d,%eax
140990891:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
140990896:	5e                   	pop    %rsi
140990897:	c3                   	ret
140990898:	cc                   	int3
140990899:	cc                   	int3
14099089a:	cc                   	int3
14099089b:	cc                   	int3
14099089c:	cc                   	int3
14099089d:	cc                   	int3
14099089e:	cc                   	int3
14099089f:	cc                   	int3
1409908a0:	48 83 ec 28          	sub    $0x28,%rsp
1409908a4:	80 79 38 00          	cmpb   $0x0,0x38(%rcx)
1409908a8:	75 16                	jne    0x1409908c0
1409908aa:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
1409908ae:	77 1c                	ja     0x1409908cc
1409908b0:	45 33 c0             	xor    %r8d,%r8d
1409908b3:	48 83 c1 18          	add    $0x18,%rcx
1409908b7:	41 8d 50 12          	lea    0x12(%r8),%edx
1409908bb:	e8 d0 70 ff ff       	call   0x140987990
1409908c0:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
1409908c7:	48 83 c4 28          	add    $0x28,%rsp
1409908cb:	c3                   	ret
1409908cc:	f6 41 28 c0          	testb  $0xc0,0x28(%rcx)
1409908d0:	75 31                	jne    0x140990903
1409908d2:	48 8b 41 50          	mov    0x50(%rcx),%rax
1409908d6:	48 ba ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdx
1409908dd:	ff ff 7f
1409908e0:	48 3b c2             	cmp    %rdx,%rax
1409908e3:	76 32                	jbe    0x140990917
1409908e5:	ba 1e 00 00 00       	mov    $0x1e,%edx
1409908ea:	48 83 c1 18          	add    $0x18,%rcx
1409908ee:	44 8d 42 66          	lea    0x66(%rdx),%r8d
1409908f2:	e8 99 70 ff ff       	call   0x140987990
1409908f7:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
1409908fe:	48 83 c4 28          	add    $0x28,%rsp
140990902:	c3                   	ret
140990903:	41 b9 07 00 00 00    	mov    $0x7,%r9d
140990909:	45 33 c0             	xor    %r8d,%r8d
14099090c:	33 d2                	xor    %edx,%edx
14099090e:	48 83 c4 28          	add    $0x28,%rsp
140990912:	e9 19 01 00 00       	jmp    0x140990a30
140990917:	48 83 c4 28          	add    $0x28,%rsp
14099091b:	c3                   	ret
14099091c:	cc                   	int3
14099091d:	cc                   	int3
14099091e:	cc                   	int3
14099091f:	cc                   	int3
140990920:	40 53                	rex push %rbx
140990922:	48 83 ec 20          	sub    $0x20,%rsp
140990926:	48 8b d9             	mov    %rcx,%rbx
140990929:	e8 d2 97 81 ff       	call   0x1401aa100
14099092e:	48 0f ba e0 12       	bt     $0x12,%rax
140990933:	72 17                	jb     0x14099094c
140990935:	48 8b 1b             	mov    (%rbx),%rbx
140990938:	48 85 db             	test   %rbx,%rbx
14099093b:	74 2d                	je     0x14099096a
14099093d:	48 8b cb             	mov    %rbx,%rcx
140990940:	e8 bb 97 81 ff       	call   0x1401aa100
140990945:	48 0f ba e0 12       	bt     $0x12,%rax
14099094a:	73 e9                	jae    0x140990935
14099094c:	41 b9 12 00 00 00    	mov    $0x12,%r9d
140990952:	45 33 c0             	xor    %r8d,%r8d
140990955:	33 d2                	xor    %edx,%edx
140990957:	48 8b cb             	mov    %rbx,%rcx
14099095a:	e8 d1 00 00 00       	call   0x140990a30
14099095f:	85 c0                	test   %eax,%eax
140990961:	0f 95 c0             	setne  %al
140990964:	48 83 c4 20          	add    $0x20,%rsp
140990968:	5b                   	pop    %rbx
140990969:	c3                   	ret
14099096a:	b0 01                	mov    $0x1,%al
14099096c:	48 83 c4 20          	add    $0x20,%rsp
140990970:	5b                   	pop    %rbx
140990971:	c3                   	ret
140990972:	cc                   	int3
140990973:	cc                   	int3
140990974:	cc                   	int3
140990975:	cc                   	int3
140990976:	cc                   	int3
140990977:	cc                   	int3
140990978:	cc                   	int3
140990979:	cc                   	int3
14099097a:	cc                   	int3
14099097b:	cc                   	int3
14099097c:	cc                   	int3
14099097d:	cc                   	int3
14099097e:	cc                   	int3
14099097f:	cc                   	int3
140990980:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140990985:	57                   	push   %rdi
140990986:	48 83 ec 20          	sub    $0x20,%rsp
14099098a:	48 8b f9             	mov    %rcx,%rdi
14099098d:	b9 80 00 00 00       	mov    $0x80,%ecx
140990992:	e8 95 1d 4a 00       	call   0x140e3272c
140990997:	48 8b d8             	mov    %rax,%rbx
14099099a:	48 8b cf             	mov    %rdi,%rcx
14099099d:	48 85 c0             	test   %rax,%rax
1409909a0:	75 18                	jne    0x1409909ba
1409909a2:	45 33 c0             	xor    %r8d,%r8d
1409909a5:	8d 50 0e             	lea    0xe(%rax),%edx
1409909a8:	e8 e3 6f ff ff       	call   0x140987990
1409909ad:	33 c0                	xor    %eax,%eax
1409909af:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1409909b4:	48 83 c4 20          	add    $0x20,%rsp
1409909b8:	5f                   	pop    %rdi
1409909b9:	c3                   	ret
1409909ba:	e8 a1 f6 ff ff       	call   0x140990060
1409909bf:	48 89 43 70          	mov    %rax,0x70(%rbx)
1409909c3:	48 85 c0             	test   %rax,%rax
1409909c6:	75 15                	jne    0x1409909dd
1409909c8:	48 8b cb             	mov    %rbx,%rcx
1409909cb:	e8 c0 06 4a 00       	call   0x140e31090
1409909d0:	33 c0                	xor    %eax,%eax
1409909d2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1409909d7:	48 83 c4 20          	add    $0x20,%rsp
1409909db:	5f                   	pop    %rdi
1409909dc:	c3                   	ret
1409909dd:	33 ff                	xor    %edi,%edi
1409909df:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
1409909e3:	48 89 3b             	mov    %rdi,(%rbx)
1409909e6:	89 7b 08             	mov    %edi,0x8(%rbx)
1409909e9:	e8 32 6f ff ff       	call   0x140987920
1409909ee:	48 8b c3             	mov    %rbx,%rax
1409909f1:	48 89 7b 20          	mov    %rdi,0x20(%rbx)
1409909f5:	48 89 7b 28          	mov    %rdi,0x28(%rbx)
1409909f9:	48 89 7b 38          	mov    %rdi,0x38(%rbx)
1409909fd:	48 89 7b 30          	mov    %rdi,0x30(%rbx)
140990a01:	40 88 7b 40          	mov    %dil,0x40(%rbx)
140990a05:	48 89 7b 50          	mov    %rdi,0x50(%rbx)
140990a09:	48 89 7b 48          	mov    %rdi,0x48(%rbx)
140990a0d:	48 89 7b 58          	mov    %rdi,0x58(%rbx)
140990a11:	48 89 7b 60          	mov    %rdi,0x60(%rbx)
140990a15:	48 89 7b 68          	mov    %rdi,0x68(%rbx)
140990a19:	48 89 7b 78          	mov    %rdi,0x78(%rbx)
140990a1d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140990a22:	48 83 c4 20          	add    $0x20,%rsp
140990a26:	5f                   	pop    %rdi
140990a27:	c3                   	ret
140990a28:	cc                   	int3
140990a29:	cc                   	int3
140990a2a:	cc                   	int3
140990a2b:	cc                   	int3
140990a2c:	cc                   	int3
140990a2d:	cc                   	int3
140990a2e:	cc                   	int3
140990a2f:	cc                   	int3
140990a30:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140990a35:	57                   	push   %rdi
140990a36:	48 83 ec 30          	sub    $0x30,%rsp
140990a3a:	48 8b 41 28          	mov    0x28(%rcx),%rax
140990a3e:	48 8b d9             	mov    %rcx,%rbx
140990a41:	41 8b f9             	mov    %r9d,%edi
140990a44:	48 0f a3 f8          	bt     %rdi,%rax
140990a48:	72 22                	jb     0x140990a6c
140990a4a:	45 33 c0             	xor    %r8d,%r8d
140990a4d:	48 83 c1 18          	add    $0x18,%rcx
140990a51:	41 8d 50 1c          	lea    0x1c(%r8),%edx
140990a55:	e8 36 6f ff ff       	call   0x140987990
140990a5a:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140990a61:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140990a66:	48 83 c4 30          	add    $0x30,%rsp
140990a6a:	5f                   	pop    %rdi
140990a6b:	c3                   	ret
140990a6c:	48 8b 09             	mov    (%rcx),%rcx
140990a6f:	48 8b 43 10          	mov    0x10(%rbx),%rax
140990a73:	4c 8b 53 08          	mov    0x8(%rbx),%r10
140990a77:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
140990a7c:	48 85 c9             	test   %rcx,%rcx
140990a7f:	75 11                	jne    0x140990a92
140990a81:	48 8b c8             	mov    %rax,%rcx
140990a84:	44 8b cf             	mov    %edi,%r9d
140990a87:	49 8b c2             	mov    %r10,%rax
140990a8a:	ff 15 90 2f 5f 00    	call   *0x5f2f90(%rip)        # 0x140f83a20
140990a90:	eb 16                	jmp    0x140990aa8