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
14098ac5d:	c6 43 4c 00          	movb   $0x0,0x4c(%rbx)
14098ac61:	33 c0                	xor    %eax,%eax
14098ac63:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14098ac68:	48 33 cc             	xor    %rsp,%rcx
14098ac6b:	e8 90 08 49 00       	call   0x140e1b500
14098ac70:	48 83 c4 40          	add    $0x40,%rsp
14098ac74:	5b                   	pop    %rbx
14098ac75:	c3                   	ret
14098ac76:	45 33 c0             	xor    %r8d,%r8d
14098ac79:	48 83 c1 18          	add    $0x18,%rcx
14098ac7d:	41 8d 50 12          	lea    0x12(%r8),%edx
14098ac81:	e8 0a cd ff ff       	call   0x140987990
14098ac86:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098ac8b:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14098ac90:	48 33 cc             	xor    %rsp,%rcx
14098ac93:	e8 68 08 49 00       	call   0x140e1b500
14098ac98:	48 83 c4 40          	add    $0x40,%rsp
14098ac9c:	5b                   	pop    %rbx
14098ac9d:	c3                   	ret
14098ac9e:	cc                   	int3
14098ac9f:	cc                   	int3
14098aca0:	48 83 ec 28          	sub    $0x28,%rsp
14098aca4:	4c 8b d1             	mov    %rcx,%r10
14098aca7:	49 83 f9 10          	cmp    $0x10,%r9
14098acab:	72 34                	jb     0x14098ace1
14098acad:	4d 85 c0             	test   %r8,%r8
14098acb0:	74 40                	je     0x14098acf2
14098acb2:	41 8b 48 08          	mov    0x8(%r8),%ecx
14098acb6:	85 c9                	test   %ecx,%ecx
14098acb8:	74 1a                	je     0x14098acd4
14098acba:	83 e9 01             	sub    $0x1,%ecx
14098acbd:	74 0d                	je     0x14098accc
14098acbf:	83 f9 01             	cmp    $0x1,%ecx
14098acc2:	75 1d                	jne    0x14098ace1
14098acc4:	49 8b 00             	mov    (%r8),%rax
14098acc7:	48 03 c2             	add    %rdx,%rax
14098acca:	eb 0b                	jmp    0x14098acd7
14098accc:	49 8b 00             	mov    (%r8),%rax
14098accf:	49 03 c2             	add    %r10,%rax
14098acd2:	eb 03                	jmp    0x14098acd7
14098acd4:	49 8b 00             	mov    (%r8),%rax
14098acd7:	48 85 c0             	test   %rax,%rax
14098acda:	78 05                	js     0x14098ace1
14098acdc:	48 3b c2             	cmp    %rdx,%rax
14098acdf:	76 18                	jbe    0x14098acf9
14098ace1:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14098ace6:	45 33 c0             	xor    %r8d,%r8d
14098ace9:	41 8d 50 12          	lea    0x12(%r8),%edx
14098aced:	e8 9e cc ff ff       	call   0x140987990
14098acf2:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098acf9:	48 83 c4 28          	add    $0x28,%rsp
14098acfd:	c3                   	ret
14098acfe:	cc                   	int3
14098acff:	cc                   	int3
14098ad00:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
14098ad04:	b8 01 00 00 00       	mov    $0x1,%eax
14098ad09:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14098ad0e:	48 8d 54 24 10       	lea    0x10(%rsp),%rdx
14098ad13:	48 83 c2 08          	add    $0x8,%rdx
14098ad17:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14098ad1c:	48 d3 e0             	shl    %cl,%rax
14098ad1f:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14098ad24:	8b 4a f8             	mov    -0x8(%rdx),%ecx
14098ad27:	85 c9                	test   %ecx,%ecx
14098ad29:	78 13                	js     0x14098ad3e
14098ad2b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14098ad30:	48 0f ab c8          	bts    %rcx,%rax
14098ad34:	8b 0a                	mov    (%rdx),%ecx
14098ad36:	48 8d 52 08          	lea    0x8(%rdx),%rdx
14098ad3a:	85 c9                	test   %ecx,%ecx
14098ad3c:	79 f2                	jns    0x14098ad30
14098ad3e:	c3                   	ret
14098ad3f:	cc                   	int3
14098ad40:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14098ad45:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14098ad4a:	57                   	push   %rdi
14098ad4b:	48 83 ec 40          	sub    $0x40,%rsp
14098ad4f:	33 c0                	xor    %eax,%eax
14098ad51:	48 8b e9             	mov    %rcx,%rbp
14098ad54:	4d 85 c9             	test   %r9,%r9
14098ad57:	74 07                	je     0x14098ad60
14098ad59:	41 38 01             	cmp    %al,(%r9)
14098ad5c:	4c 0f 44 c8          	cmove  %rax,%r9
14098ad60:	48 8d 71 10          	lea    0x10(%rcx),%rsi
14098ad64:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
14098ad69:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
14098ad6e:	45 33 c9             	xor    %r9d,%r9d
14098ad71:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14098ad76:	e8 a5 4b 00 00       	call   0x14098f920
14098ad7b:	48 8b f8             	mov    %rax,%rdi
14098ad7e:	48 85 c0             	test   %rax,%rax
14098ad81:	74 1f                	je     0x14098ada2
14098ad83:	48 8b c8             	mov    %rax,%rcx
14098ad86:	e8 95 fa ff ff       	call   0x14098a820
14098ad8b:	85 c0                	test   %eax,%eax
14098ad8d:	79 25                	jns    0x14098adb4
14098ad8f:	48 8b d7             	mov    %rdi,%rdx
14098ad92:	48 8b ce             	mov    %rsi,%rcx
14098ad95:	e8 36 cb ff ff       	call   0x1409878d0
14098ad9a:	48 8b cf             	mov    %rdi,%rcx
14098ad9d:	e8 8e f8 ff ff       	call   0x14098a630
14098ada2:	33 c0                	xor    %eax,%eax
14098ada4:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14098ada9:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14098adae:	48 83 c4 40          	add    $0x40,%rsp
14098adb2:	5f                   	pop    %rdi
14098adb3:	c3                   	ret
14098adb4:	b9 28 00 00 00       	mov    $0x28,%ecx
14098adb9:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
14098adbe:	e8 69 79 4a 00       	call   0x140e3272c
14098adc3:	48 8b d8             	mov    %rax,%rbx
14098adc6:	48 85 c0             	test   %rax,%rax
14098adc9:	75 1a                	jne    0x14098ade5
14098adcb:	45 33 c0             	xor    %r8d,%r8d
14098adce:	8d 50 0e             	lea    0xe(%rax),%edx
14098add1:	48 8b ce             	mov    %rsi,%rcx
14098add4:	e8 b7 cb ff ff       	call   0x140987990
14098add9:	48 8b cf             	mov    %rdi,%rcx
14098addc:	e8 4f f8 ff ff       	call   0x14098a630
14098ade1:	33 c0                	xor    %eax,%eax
14098ade3:	eb 17                	jmp    0x14098adfc
14098ade5:	48 8d 48 08          	lea    0x8(%rax),%rcx
14098ade9:	48 89 28             	mov    %rbp,(%rax)
14098adec:	e8 2f cb ff ff       	call   0x140987920
14098adf1:	48 8b c3             	mov    %rbx,%rax
14098adf4:	c6 43 18 00          	movb   $0x0,0x18(%rbx)
14098adf8:	48 89 7b 20          	mov    %rdi,0x20(%rbx)
14098adfc:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14098ae01:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14098ae06:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14098ae0b:	48 83 c4 40          	add    $0x40,%rsp
14098ae0f:	5f                   	pop    %rdi
14098ae10:	c3                   	ret
14098ae11:	cc                   	int3
14098ae12:	cc                   	int3
14098ae13:	cc                   	int3
14098ae14:	cc                   	int3
14098ae15:	cc                   	int3
14098ae16:	cc                   	int3
14098ae17:	cc                   	int3
14098ae18:	cc                   	int3
14098ae19:	cc                   	int3
14098ae1a:	cc                   	int3
14098ae1b:	cc                   	int3
14098ae1c:	cc                   	int3
14098ae1d:	cc                   	int3
14098ae1e:	cc                   	int3
14098ae1f:	cc                   	int3
14098ae20:	40 53                	rex push %rbx
14098ae22:	48 83 ec 20          	sub    $0x20,%rsp
14098ae26:	83 79 34 01          	cmpl   $0x1,0x34(%rcx)
14098ae2a:	48 8b d9             	mov    %rcx,%rbx
14098ae2d:	75 1b                	jne    0x14098ae4a
14098ae2f:	45 33 c0             	xor    %r8d,%r8d
14098ae32:	48 83 c1 18          	add    $0x18,%rcx
14098ae36:	41 8d 50 12          	lea    0x12(%r8),%edx
14098ae3a:	e8 51 cb ff ff       	call   0x140987990
14098ae3f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14098ae44:	48 83 c4 20          	add    $0x20,%rsp
14098ae48:	5b                   	pop    %rbx
14098ae49:	c3                   	ret
14098ae4a:	41 b9 08 00 00 00    	mov    $0x8,%r9d
14098ae50:	45 33 c0             	xor    %r8d,%r8d
14098ae53:	33 d2                	xor    %edx,%edx
14098ae55:	e8 d6 5b 00 00       	call   0x140990a30
14098ae5a:	48 85 c0             	test   %rax,%rax
14098ae5d:	78 e0                	js     0x14098ae3f
14098ae5f:	c7 43 34 01 00 00 00 	movl   $0x1,0x34(%rbx)
14098ae66:	33 c0                	xor    %eax,%eax
14098ae68:	48 83 c4 20          	add    $0x20,%rsp
14098ae6c:	5b                   	pop    %rbx
14098ae6d:	c3                   	ret
14098ae6e:	cc                   	int3
14098ae6f:	cc                   	int3
14098ae70:	40 53                	rex push %rbx