14098a822:	48 83 ec 20          	sub    $0x20,%rsp
14098a826:	80 79 38 00          	cmpb   $0x0,0x38(%rcx)
14098a82a:	48 8b d9             	mov    %rcx,%rbx
14098a82d:	75 16                	jne    0x14098a845
14098a82f:	83 79 34 03          	cmpl   $0x3,0x34(%rcx)
14098a833:	75 1b                	jne    0x14098a850
14098a835:	45 33 c0             	xor    %r8d,%r8d
14098a838:	48 83 c1 18          	add    $0x18,%rcx
14098a83c:	41 8d 50 17          	lea    0x17(%r8),%edx
14098a840:	e8 4b d1 ff ff       	call   0x140987990
14098a845:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a84a:	48 83 c4 20          	add    $0x20,%rsp
14098a84e:	5b                   	pop    %rbx
14098a84f:	c3                   	ret
14098a850:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
14098a854:	76 24                	jbe    0x14098a87a
14098a856:	e8 a5 f8 81 ff       	call   0x1401aa100
14098a85b:	a8 40                	test   $0x40,%al
14098a85d:	75 70                	jne    0x14098a8cf
14098a85f:	45 33 c0             	xor    %r8d,%r8d
14098a862:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14098a866:	41 8d 50 1d          	lea    0x1d(%r8),%edx
14098a86a:	e8 21 d1 ff ff       	call   0x140987990
14098a86f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a874:	48 83 c4 20          	add    $0x20,%rsp
14098a878:	5b                   	pop    %rbx
14098a879:	c3                   	ret
14098a87a:	48 8b 09             	mov    (%rcx),%rcx
14098a87d:	48 85 c9             	test   %rcx,%rcx
14098a880:	74 20                	je     0x14098a8a2
14098a882:	e8 99 ff ff ff       	call   0x14098a820
14098a887:	85 c0                	test   %eax,%eax
14098a889:	79 17                	jns    0x14098a8a2
14098a88b:	48 8b 13             	mov    (%rbx),%rdx
14098a88e:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14098a892:	e8 39 d0 ff ff       	call   0x1409878d0
14098a897:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a89c:	48 83 c4 20          	add    $0x20,%rsp
14098a8a0:	5b                   	pop    %rbx
14098a8a1:	c3                   	ret
14098a8a2:	45 33 c9             	xor    %r9d,%r9d
14098a8a5:	45 33 c0             	xor    %r8d,%r8d
14098a8a8:	33 d2                	xor    %edx,%edx
14098a8aa:	48 8b cb             	mov    %rbx,%rcx
14098a8ad:	e8 7e 61 00 00       	call   0x140990a30
14098a8b2:	48 85 c0             	test   %rax,%rax
14098a8b5:	79 18                	jns    0x14098a8cf
14098a8b7:	48 8b 0b             	mov    (%rbx),%rcx
14098a8ba:	48 85 c9             	test   %rcx,%rcx
14098a8bd:	74 86                	je     0x14098a845
14098a8bf:	e8 fc fb ff ff       	call   0x14098a4c0
14098a8c4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098a8c9:	48 83 c4 20          	add    $0x20,%rsp
14098a8cd:	5b                   	pop    %rbx
14098a8ce:	c3                   	ret
14098a8cf:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14098a8d3:	66 c7 43 4c 00 00    	movw   $0x0,0x4c(%rbx)
14098a8d9:	e8 92 cf ff ff       	call   0x140987870
14098a8de:	ff 43 30             	incl   0x30(%rbx)
14098a8e1:	33 c0                	xor    %eax,%eax
14098a8e3:	48 c7 43 50 00 00 00 	movq   $0x0,0x50(%rbx)
14098a8ea:	00
14098a8eb:	48 83 c4 20          	add    $0x20,%rsp
14098a8ef:	5b                   	pop    %rbx
14098a8f0:	c3                   	ret
14098a8f1:	cc                   	int3
14098a8f2:	cc                   	int3
14098a8f3:	cc                   	int3
14098a8f4:	cc                   	int3
14098a8f5:	cc                   	int3
14098a8f6:	cc                   	int3
14098a8f7:	cc                   	int3
14098a8f8:	cc                   	int3
14098a8f9:	cc                   	int3
14098a8fa:	cc                   	int3
14098a8fb:	cc                   	int3
14098a8fc:	cc                   	int3
14098a8fd:	cc                   	int3
14098a8fe:	cc                   	int3
14098a8ff:	cc                   	int3
14098a900:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14098a905:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14098a90a:	57                   	push   %rdi
14098a90b:	48 83 ec 20          	sub    $0x20,%rsp
14098a90f:	80 79 38 00          	cmpb   $0x0,0x38(%rcx)
14098a913:	49 8b f0             	mov    %r8,%rsi
14098a916:	48 8b ea             	mov    %rdx,%rbp
14098a919:	48 8b f9             	mov    %rcx,%rdi
14098a91c:	0f 85 f3 00 00 00    	jne    0x14098aa15
14098a922:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
14098a926:	0f 86 d9 00 00 00    	jbe    0x14098aa05
14098a92c:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14098a933:	ff ff 7f
14098a936:	4c 3b c0             	cmp    %rax,%r8
14098a939:	0f 87 c6 00 00 00    	ja     0x14098aa05
14098a93f:	4d 85 c0             	test   %r8,%r8
14098a942:	74 09                	je     0x14098a94d
14098a944:	48 85 d2             	test   %rdx,%rdx
14098a947:	0f 84 b8 00 00 00    	je     0x14098aa05
14098a94d:	80 79 4d 00          	cmpb   $0x0,0x4d(%rcx)
14098a951:	0f 85 be 00 00 00    	jne    0x14098aa15
14098a957:	80 79 4c 00          	cmpb   $0x0,0x4c(%rcx)
14098a95b:	0f 85 92 00 00 00    	jne    0x14098a9f3
14098a961:	48 85 f6             	test   %rsi,%rsi
14098a964:	0f 84 89 00 00 00    	je     0x14098a9f3
14098a96a:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14098a96f:	33 db                	xor    %ebx,%ebx
14098a971:	48 85 f6             	test   %rsi,%rsi
14098a974:	74 31                	je     0x14098a9a7
14098a976:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14098a97d:	00 00 00
14098a980:	4c 8b c6             	mov    %rsi,%r8
14098a983:	48 8d 14 2b          	lea    (%rbx,%rbp,1),%rdx
14098a987:	4c 2b c3             	sub    %rbx,%r8
14098a98a:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14098a990:	48 8b cf             	mov    %rdi,%rcx
14098a993:	e8 98 60 00 00       	call   0x140990a30
14098a998:	48 85 c0             	test   %rax,%rax
14098a99b:	78 42                	js     0x14098a9df
14098a99d:	74 3a                	je     0x14098a9d9
14098a99f:	48 03 d8             	add    %rax,%rbx
14098a9a2:	48 3b de             	cmp    %rsi,%rbx
14098a9a5:	72 d9                	jb     0x14098a980
14098a9a7:	48 8b 4f 50          	mov    0x50(%rdi),%rcx
14098a9ab:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098a9b2:	48 8d 14 19          	lea    (%rcx,%rbx,1),%rdx
14098a9b6:	48 3b d1             	cmp    %rcx,%rdx
14098a9b9:	48 0f 42 d0          	cmovb  %rax,%rdx
14098a9bd:	48 89 57 50          	mov    %rdx,0x50(%rdi)
14098a9c1:	48 8b c3             	mov    %rbx,%rax
14098a9c4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14098a9c9:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14098a9ce:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14098a9d3:	48 83 c4 20          	add    $0x20,%rsp
14098a9d7:	5f                   	pop    %rdi
14098a9d8:	c3                   	ret
14098a9d9:	c6 47 4c 01          	movb   $0x1,0x4c(%rdi)
14098a9dd:	eb c8                	jmp    0x14098a9a7
14098a9df:	48 85 db             	test   %rbx,%rbx
14098a9e2:	c6 47 4d 01          	movb   $0x1,0x4d(%rdi)
14098a9e6:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098a9ed:	48 0f 44 d8          	cmove  %rax,%rbx
14098a9f1:	eb ce                	jmp    0x14098a9c1
14098a9f3:	33 c0                	xor    %eax,%eax
14098a9f5:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14098a9fa:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14098a9ff:	48 83 c4 20          	add    $0x20,%rsp
14098aa03:	5f                   	pop    %rdi
14098aa04:	c3                   	ret
14098aa05:	45 33 c0             	xor    %r8d,%r8d
14098aa08:	48 83 c1 18          	add    $0x18,%rcx
14098aa0c:	41 8d 50 12          	lea    0x12(%r8),%edx
14098aa10:	e8 7b cf ff ff       	call   0x140987990
14098aa15:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14098aa1a:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098aa21:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14098aa26:	48 83 c4 20          	add    $0x20,%rsp
14098aa2a:	5f                   	pop    %rdi
14098aa2b:	c3                   	ret
14098aa2c:	cc                   	int3
14098aa2d:	cc                   	int3
14098aa2e:	cc                   	int3
14098aa2f:	cc                   	int3
14098aa30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14098aa35:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14098aa3a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14098aa3f:	57                   	push   %rdi
14098aa40:	41 56                	push   %r14
14098aa42:	41 57                	push   %r15
14098aa44:	48 83 ec 20          	sub    $0x20,%rsp
14098aa48:	49 8b d9             	mov    %r9,%rbx
14098aa4b:	45 8b f0             	mov    %r8d,%r14d
14098aa4e:	45 33 c9             	xor    %r9d,%r9d
14098aa51:	48 8b ea             	mov    %rdx,%rbp
14098aa54:	48 8b f1             	mov    %rcx,%rsi
14098aa57:	e8 94 35 00 00       	call   0x14098dff0
14098aa5c:	48 8b f8             	mov    %rax,%rdi
14098aa5f:	48 85 c0             	test   %rax,%rax
14098aa62:	74 4f                	je     0x14098aab3
14098aa64:	45 8b c6             	mov    %r14d,%r8d
14098aa67:	48 8b d5             	mov    %rbp,%rdx
14098aa6a:	48 8b ce             	mov    %rsi,%rcx
14098aa6d:	e8 de 57 00 00       	call   0x140990250
14098aa72:	4c 8b f8             	mov    %rax,%r15
14098aa75:	48 85 c0             	test   %rax,%rax
14098aa78:	74 39                	je     0x14098aab3
14098aa7a:	41 f6 c6 08          	test   $0x8,%r14b
14098aa7e:	75 7b                	jne    0x14098aafb
14098aa80:	4c 8b 76 58          	mov    0x58(%rsi),%r14
14098aa84:	48 8b d5             	mov    %rbp,%rdx
14098aa87:	48 c1 e2 05          	shl    $0x5,%rdx
14098aa8b:	4c 03 f2             	add    %rdx,%r14
14098aa8e:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14098aa92:	48 85 c9             	test   %rcx,%rcx
14098aa95:	74 64                	je     0x14098aafb
14098aa97:	48 8b d3             	mov    %rbx,%rdx
14098aa9a:	e8 11 07 00 00       	call   0x14098b1b0
14098aa9f:	85 c0                	test   %eax,%eax
14098aaa1:	79 2e                	jns    0x14098aad1
14098aaa3:	45 33 c0             	xor    %r8d,%r8d
14098aaa6:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
14098aaaa:	41 8d 50 0f          	lea    0xf(%r8),%edx
14098aaae:	e8 dd ce ff ff       	call   0x140987990
14098aab3:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098aab8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14098aabd:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14098aac2:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14098aac7:	48 83 c4 20          	add    $0x20,%rsp
14098aacb:	41 5f                	pop    %r15
14098aacd:	41 5e                	pop    %r14
14098aacf:	5f                   	pop    %rdi
14098aad0:	c3                   	ret
14098aad1:	49 8b 46 08          	mov    0x8(%r14),%rax
14098aad5:	48 85 c0             	test   %rax,%rax
14098aad8:	74 6b                	je     0x14098ab45
14098aada:	f6 00 20             	testb  $0x20,(%rax)
14098aadd:	74 66                	je     0x14098ab45
14098aadf:	48 8b 47 18          	mov    0x18(%rdi),%rax
14098aae3:	48 83 0b 10          	orq    $0x10,(%rbx)
14098aae7:	48 83 0b 03          	orq    $0x3,(%rbx)
14098aaeb:	48 89 43 28          	mov    %rax,0x28(%rbx)
14098aaef:	33 c0                	xor    %eax,%eax
14098aaf1:	48 89 6b 10          	mov    %rbp,0x10(%rbx)
14098aaf5:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
14098aaf9:	eb bd                	jmp    0x14098aab8
14098aafb:	48 8b cb             	mov    %rbx,%rcx
14098aafe:	e8 dd 00 00 00       	call   0x14098abe0
14098ab03:	8b 47 20             	mov    0x20(%rdi),%eax
14098ab06:	b9 fc 00 00 00       	mov    $0xfc,%ecx
14098ab0b:	89 43 30             	mov    %eax,0x30(%rbx)
14098ab0e:	48 8b 47 30          	mov    0x30(%rdi),%rax
14098ab12:	48 89 43 18          	mov    %rax,0x18(%rbx)
14098ab16:	48 8b 47 18          	mov    0x18(%rdi),%rax
14098ab1a:	48 89 43 28          	mov    %rax,0x28(%rbx)
14098ab1e:	48 8b 47 28          	mov    0x28(%rdi),%rax
14098ab22:	48 89 43 20          	mov    %rax,0x20(%rbx)
14098ab26:	0f b7 47 10          	movzwl 0x10(%rdi),%eax
14098ab2a:	66 89 43 34          	mov    %ax,0x34(%rbx)
14098ab2e:	0f b7 47 6a          	movzwl 0x6a(%rdi),%eax
14098ab32:	66 89 43 36          	mov    %ax,0x36(%rbx)
14098ab36:	b8 dc 00 00 00       	mov    $0xdc,%eax
14098ab3b:	80 7f 06 00          	cmpb   $0x0,0x6(%rdi)
14098ab3f:	0f 45 c1             	cmovne %ecx,%eax
14098ab42:	48 89 03             	mov    %rax,(%rbx)
14098ab45:	48 83 0b 03          	orq    $0x3,(%rbx)
14098ab49:	33 c0                	xor    %eax,%eax
14098ab4b:	48 89 6b 10          	mov    %rbp,0x10(%rbx)
14098ab4f:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
14098ab53:	e9 60 ff ff ff       	jmp    0x14098aab8
14098ab58:	cc                   	int3
14098ab59:	cc                   	int3
14098ab5a:	cc                   	int3
14098ab5b:	cc                   	int3
14098ab5c:	cc                   	int3
14098ab5d:	cc                   	int3
14098ab5e:	cc                   	int3
14098ab5f:	cc                   	int3
14098ab60:	f6 02 02             	testb  $0x2,(%rdx)
14098ab63:	74 08                	je     0x14098ab6d
14098ab65:	48 8b 42 10          	mov    0x10(%rdx),%rax
14098ab69:	48 89 41 10          	mov    %rax,0x10(%rcx)
14098ab6d:	f6 02 04             	testb  $0x4,(%rdx)
14098ab70:	74 08                	je     0x14098ab7a
14098ab72:	48 8b 42 18          	mov    0x18(%rdx),%rax
14098ab76:	48 89 41 18          	mov    %rax,0x18(%rcx)
14098ab7a:	f6 02 08             	testb  $0x8,(%rdx)
14098ab7d:	74 08                	je     0x14098ab87
14098ab7f:	48 8b 42 20          	mov    0x20(%rdx),%rax
14098ab83:	48 89 41 20          	mov    %rax,0x20(%rcx)
14098ab87:	f6 02 10             	testb  $0x10,(%rdx)
14098ab8a:	74 08                	je     0x14098ab94
14098ab8c:	48 8b 42 28          	mov    0x28(%rdx),%rax
14098ab90:	48 89 41 28          	mov    %rax,0x28(%rcx)
14098ab94:	f6 02 20             	testb  $0x20,(%rdx)
14098ab97:	74 06                	je     0x14098ab9f
14098ab99:	8b 42 30             	mov    0x30(%rdx),%eax
14098ab9c:	89 41 30             	mov    %eax,0x30(%rcx)
14098ab9f:	f6 02 40             	testb  $0x40,(%rdx)
14098aba2:	74 08                	je     0x14098abac
14098aba4:	0f b7 42 34          	movzwl 0x34(%rdx),%eax
14098aba8:	66 89 41 34          	mov    %ax,0x34(%rcx)
14098abac:	f6 02 80             	testb  $0x80,(%rdx)
14098abaf:	74 08                	je     0x14098abb9
14098abb1:	0f b7 42 36          	movzwl 0x36(%rdx),%eax
14098abb5:	66 89 41 36          	mov    %ax,0x36(%rcx)
14098abb9:	8b 02                	mov    (%rdx),%eax
14098abbb:	48 0f ba e0 08       	bt     $0x8,%rax
14098abc0:	73 06                	jae    0x14098abc8
14098abc2:	8b 42 38             	mov    0x38(%rdx),%eax
14098abc5:	89 41 38             	mov    %eax,0x38(%rcx)
14098abc8:	48 8b 02             	mov    (%rdx),%rax
14098abcb:	48 09 01             	or     %rax,(%rcx)
14098abce:	33 c0                	xor    %eax,%eax
14098abd0:	c3                   	ret
14098abd1:	cc                   	int3
14098abd2:	cc                   	int3
14098abd3:	cc                   	int3
14098abd4:	cc                   	int3
14098abd5:	cc                   	int3
14098abd6:	cc                   	int3
14098abd7:	cc                   	int3
14098abd8:	cc                   	int3
14098abd9:	cc                   	int3
14098abda:	cc                   	int3
14098abdb:	cc                   	int3
14098abdc:	cc                   	int3
14098abdd:	cc                   	int3
14098abde:	cc                   	int3
14098abdf:	cc                   	int3
14098abe0:	33 c0                	xor    %eax,%eax
14098abe2:	48 c7 41 10 ff ff ff 	movq   $0xffffffffffffffff,0x10(%rcx)
14098abe9:	ff
14098abea:	48 89 01             	mov    %rax,(%rcx)
14098abed:	48 89 41 08          	mov    %rax,0x8(%rcx)
14098abf1:	48 89 41 30          	mov    %rax,0x30(%rcx)
14098abf5:	48 89 41 18          	mov    %rax,0x18(%rcx)
14098abf9:	48 89 41 20          	mov    %rax,0x20(%rcx)
14098abfd:	48 c7 41 28 ff ff ff 	movq   $0xffffffffffffffff,0x28(%rcx)
14098ac04:	ff
14098ac05:	c3                   	ret
14098ac06:	cc                   	int3
14098ac07:	cc                   	int3
14098ac08:	cc                   	int3
14098ac09:	cc                   	int3
14098ac0a:	cc                   	int3
14098ac0b:	cc                   	int3
14098ac0c:	cc                   	int3
14098ac0d:	cc                   	int3
14098ac0e:	cc                   	int3
14098ac0f:	cc                   	int3
14098ac10:	40 53                	rex push %rbx
14098ac12:	48 83 ec 40          	sub    $0x40,%rsp
14098ac16:	48 8b 05 e3 e2 a2 00 	mov    0xa2e2e3(%rip),%rax        # 0x1413b8f00
14098ac1d:	48 33 c4             	xor    %rsp,%rax
14098ac20:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14098ac25:	80 79 38 00          	cmpb   $0x0,0x38(%rcx)
14098ac29:	48 8b d9             	mov    %rcx,%rbx
14098ac2c:	75 58                	jne    0x14098ac86
14098ac2e:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
14098ac32:	76 42                	jbe    0x14098ac76
14098ac34:	41 83 f8 02          	cmp    $0x2,%r8d
14098ac38:	77 3c                	ja     0x14098ac76
14098ac3a:	41 b9 06 00 00 00    	mov    $0x6,%r9d
14098ac40:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14098ac45:	44 89 44 24 28       	mov    %r8d,0x28(%rsp)
14098ac4a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14098ac4f:	45 8d 41 0a          	lea    0xa(%r9),%r8d
14098ac53:	e8 d8 5d 00 00       	call   0x140990a30
14098ac58:	48 85 c0             	test   %rax,%rax
14098ac5b:	78 29                	js     0x14098ac86