14098dd66:	0f b7 d8             	movzwl %ax,%ebx
14098dd69:	e8 62 0f 00 00       	call   0x14098ecd0
14098dd6e:	48 8b ce             	mov    %rsi,%rcx
14098dd71:	8d 14 03             	lea    (%rbx,%rax,1),%edx
14098dd74:	e8 57 e4 ff ff       	call   0x14098c1d0
14098dd79:	41 0f ba e7 08       	bt     $0x8,%r15d
14098dd7e:	72 4b                	jb     0x14098ddcb
14098dd80:	48 8b 4f 48          	mov    0x48(%rdi),%rcx
14098dd84:	e8 e7 26 00 00       	call   0x140990470
14098dd89:	0f b7 d0             	movzwl %ax,%edx
14098dd8c:	48 8b ce             	mov    %rsi,%rcx
14098dd8f:	e8 3c e4 ff ff       	call   0x14098c1d0
14098dd94:	0f b7 57 50          	movzwl 0x50(%rdi),%edx
14098dd98:	48 8b ce             	mov    %rsi,%rcx
14098dd9b:	e8 30 e4 ff ff       	call   0x14098c1d0
14098dda0:	0f b7 57 54          	movzwl 0x54(%rdi),%edx
14098dda4:	48 8b ce             	mov    %rsi,%rcx
14098dda7:	e8 24 e4 ff ff       	call   0x14098c1d0
14098ddac:	8b 57 58             	mov    0x58(%rdi),%edx
14098ddaf:	48 8b ce             	mov    %rsi,%rcx
14098ddb2:	e8 59 e4 ff ff       	call   0x14098c210
14098ddb7:	48 8b 57 60          	mov    0x60(%rdi),%rdx
14098ddbb:	48 8b ce             	mov    %rsi,%rcx
14098ddbe:	49 3b d4             	cmp    %r12,%rdx
14098ddc1:	72 03                	jb     0x14098ddc6
14098ddc3:	41 8b d4             	mov    %r12d,%edx
14098ddc6:	e8 45 e4 ff ff       	call   0x14098c210
14098ddcb:	48 8b ce             	mov    %rsi,%rcx
14098ddce:	e8 7d e9 83 ff       	call   0x1401cc750
14098ddd3:	84 c0                	test   %al,%al
14098ddd5:	0f 84 f1 fc ff ff    	je     0x14098dacc
14098dddb:	48 8b ce             	mov    %rsi,%rcx
14098ddde:	e8 8d e3 ff ff       	call   0x14098c170
14098dde3:	4c 8b c0             	mov    %rax,%r8
14098dde6:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
14098ddeb:	49 8b ce             	mov    %r14,%rcx
14098ddee:	e8 6d 08 00 00       	call   0x14098e660
14098ddf3:	48 8b ce             	mov    %rsi,%rcx
14098ddf6:	85 c0                	test   %eax,%eax
14098ddf8:	0f 88 e1 fc ff ff    	js     0x14098dadf
14098ddfe:	e8 0d e0 ff ff       	call   0x14098be10
14098de03:	48 8b 57 38          	mov    0x38(%rdi),%rdx
14098de07:	48 85 d2             	test   %rdx,%rdx
14098de0a:	74 10                	je     0x14098de1c
14098de0c:	49 8b ce             	mov    %r14,%rcx
14098de0f:	e8 bc 27 00 00       	call   0x1409905d0
14098de14:	85 c0                	test   %eax,%eax
14098de16:	0f 88 18 fc ff ff    	js     0x14098da34
14098de1c:	48 85 ed             	test   %rbp,%rbp
14098de1f:	74 19                	je     0x14098de3a
14098de21:	41 b8 00 03 00 00    	mov    $0x300,%r8d
14098de27:	48 8b d5             	mov    %rbp,%rdx
14098de2a:	49 8b ce             	mov    %r14,%rcx
14098de2d:	e8 de 0e 00 00       	call   0x14098ed10
14098de32:	85 c0                	test   %eax,%eax
14098de34:	0f 88 fa fb ff ff    	js     0x14098da34
14098de3a:	48 8b cd             	mov    %rbp,%rcx
14098de3d:	e8 8e 08 00 00       	call   0x14098e6d0
14098de42:	48 8b 57 40          	mov    0x40(%rdi),%rdx
14098de46:	48 85 d2             	test   %rdx,%rdx
14098de49:	74 13                	je     0x14098de5e
14098de4b:	45 8b c7             	mov    %r15d,%r8d
14098de4e:	49 8b ce             	mov    %r14,%rcx
14098de51:	e8 ba 0e 00 00       	call   0x14098ed10
14098de56:	85 c0                	test   %eax,%eax
14098de58:	0f 88 de fb ff ff    	js     0x14098da3c
14098de5e:	41 0f ba e7 08       	bt     $0x8,%r15d
14098de63:	72 23                	jb     0x14098de88
14098de65:	48 8b 57 48          	mov    0x48(%rdi),%rdx
14098de69:	48 85 d2             	test   %rdx,%rdx
14098de6c:	74 1a                	je     0x14098de88
14098de6e:	49 8b ce             	mov    %r14,%rcx
14098de71:	e8 5a 27 00 00       	call   0x1409905d0
14098de76:	85 c0                	test   %eax,%eax
14098de78:	41 0f b6 cd          	movzbl %r13b,%ecx
14098de7c:	ba ff ff ff ff       	mov    $0xffffffff,%edx
14098de81:	0f 48 ca             	cmovs  %edx,%ecx
14098de84:	8b c1                	mov    %ecx,%eax
14098de86:	eb 04                	jmp    0x14098de8c
14098de88:	41 0f b6 c5          	movzbl %r13b,%eax
14098de8c:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
14098de93:	00
14098de94:	48 33 cc             	xor    %rsp,%rcx
14098de97:	e8 64 d6 48 00       	call   0x140e1b500
14098de9c:	48 8b 9c 24 e8 00 00 	mov    0xe8(%rsp),%rbx
14098dea3:	00
14098dea4:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
14098deab:	41 5f                	pop    %r15
14098dead:	41 5e                	pop    %r14
14098deaf:	41 5d                	pop    %r13
14098deb1:	41 5c                	pop    %r12
14098deb3:	5f                   	pop    %rdi
14098deb4:	5e                   	pop    %rsi
14098deb5:	5d                   	pop    %rbp
14098deb6:	c3                   	ret
14098deb7:	cc                   	int3
14098deb8:	cc                   	int3
14098deb9:	cc                   	int3
14098deba:	cc                   	int3
14098debb:	cc                   	int3
14098debc:	cc                   	int3
14098debd:	cc                   	int3
14098debe:	cc                   	int3
14098debf:	cc                   	int3
14098dec0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14098dec5:	55                   	push   %rbp
14098dec6:	56                   	push   %rsi
14098dec7:	41 56                	push   %r14
14098dec9:	48 83 ec 20          	sub    $0x20,%rsp
14098decd:	48 8b f2             	mov    %rdx,%rsi
14098ded0:	45 33 c9             	xor    %r9d,%r9d
14098ded3:	49 8b d8             	mov    %r8,%rbx
14098ded6:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
14098dedb:	44 0f b7 f1          	movzwl %cx,%r14d
14098dedf:	48 8b ce             	mov    %rsi,%rcx
14098dee2:	45 8d 41 40          	lea    0x40(%r9),%r8d
14098dee6:	e8 c5 24 00 00       	call   0x1409903b0
14098deeb:	48 8b e8             	mov    %rax,%rbp
14098deee:	48 85 c0             	test   %rax,%rax
14098def1:	74 1d                	je     0x14098df10
14098def3:	8b 44 24 58          	mov    0x58(%rsp),%eax
14098def7:	83 c0 05             	add    $0x5,%eax
14098defa:	3d ff ff 00 00       	cmp    $0xffff,%eax
14098deff:	76 1f                	jbe    0x14098df20
14098df01:	45 33 c0             	xor    %r8d,%r8d
14098df04:	48 8b cb             	mov    %rbx,%rcx
14098df07:	41 8d 50 12          	lea    0x12(%r8),%edx
14098df0b:	e8 80 9a ff ff       	call   0x140987990
14098df10:	33 c0                	xor    %eax,%eax
14098df12:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14098df17:	48 83 c4 20          	add    $0x20,%rsp
14098df1b:	41 5e                	pop    %r14
14098df1d:	5e                   	pop    %rsi
14098df1e:	5d                   	pop    %rbp
14098df1f:	c3                   	ret
14098df20:	8b d0                	mov    %eax,%edx
14098df22:	33 c9                	xor    %ecx,%ecx
14098df24:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
14098df29:	e8 c2 e0 ff ff       	call   0x14098bff0
14098df2e:	48 8b f8             	mov    %rax,%rdi
14098df31:	48 85 c0             	test   %rax,%rax
14098df34:	75 15                	jne    0x14098df4b
14098df36:	45 33 c0             	xor    %r8d,%r8d
14098df39:	8d 50 0e             	lea    0xe(%rax),%edx
14098df3c:	48 8b cb             	mov    %rbx,%rcx
14098df3f:	e8 4c 9a ff ff       	call   0x140987990
14098df44:	33 c0                	xor    %eax,%eax
14098df46:	e9 89 00 00 00       	jmp    0x14098dfd4
14098df4b:	b2 01                	mov    $0x1,%dl
14098df4d:	48 8b cf             	mov    %rdi,%rcx
14098df50:	e8 8b e3 ff ff       	call   0x14098c2e0
14098df55:	48 8b ce             	mov    %rsi,%rcx
14098df58:	e8 93 23 00 00       	call   0x1409902f0
14098df5d:	8b d0                	mov    %eax,%edx
14098df5f:	48 8b cf             	mov    %rdi,%rcx
14098df62:	e8 a9 e2 ff ff       	call   0x14098c210
14098df67:	44 8b 44 24 58       	mov    0x58(%rsp),%r8d
14098df6c:	48 8b d5             	mov    %rbp,%rdx
14098df6f:	48 8b cf             	mov    %rdi,%rcx
14098df72:	e8 09 e2 ff ff       	call   0x14098c180
14098df77:	48 8b cf             	mov    %rdi,%rcx
14098df7a:	e8 d1 e7 83 ff       	call   0x1401cc750
14098df7f:	84 c0                	test   %al,%al
14098df81:	75 1b                	jne    0x14098df9e
14098df83:	45 33 c0             	xor    %r8d,%r8d
14098df86:	48 8b cb             	mov    %rbx,%rcx
14098df89:	41 8d 50 14          	lea    0x14(%r8),%edx
14098df8d:	e8 fe 99 ff ff       	call   0x140987990
14098df92:	48 8b cf             	mov    %rdi,%rcx
14098df95:	e8 76 de ff ff       	call   0x14098be10
14098df9a:	33 c0                	xor    %eax,%eax
14098df9c:	eb 36                	jmp    0x14098dfd4
14098df9e:	48 8b cf             	mov    %rdi,%rcx
14098dfa1:	e8 9a 0f 88 ff       	call   0x14020ef40
14098dfa6:	48 8b cf             	mov    %rdi,%rcx
14098dfa9:	48 8b d8             	mov    %rax,%rbx
14098dfac:	e8 bf e1 ff ff       	call   0x14098c170
14098dfb1:	48 8b d0             	mov    %rax,%rdx
14098dfb4:	41 b9 00 03 00 00    	mov    $0x300,%r9d
14098dfba:	4c 8b c3             	mov    %rbx,%r8
14098dfbd:	41 0f b7 ce          	movzwl %r14w,%ecx
14098dfc1:	e8 da 08 00 00       	call   0x14098e8a0
14098dfc6:	48 8b cf             	mov    %rdi,%rcx
14098dfc9:	48 8b d8             	mov    %rax,%rbx
14098dfcc:	e8 3f de ff ff       	call   0x14098be10
14098dfd1:	48 8b c3             	mov    %rbx,%rax
14098dfd4:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
14098dfd9:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14098dfde:	48 83 c4 20          	add    $0x20,%rsp
14098dfe2:	41 5e                	pop    %r14
14098dfe4:	5e                   	pop    %rsi
14098dfe5:	5d                   	pop    %rbp
14098dfe6:	c3                   	ret
14098dfe7:	cc                   	int3
14098dfe8:	cc                   	int3
14098dfe9:	cc                   	int3
14098dfea:	cc                   	int3
14098dfeb:	cc                   	int3
14098dfec:	cc                   	int3
14098dfed:	cc                   	int3
14098dfee:	cc                   	int3
14098dfef:	cc                   	int3
14098dff0:	48 83 ec 28          	sub    $0x28,%rsp
14098dff4:	4d 85 c9             	test   %r9,%r9
14098dff7:	75 04                	jne    0x14098dffd
14098dff9:	4c 8d 49 10          	lea    0x10(%rcx),%r9
14098dffd:	48 3b 51 48          	cmp    0x48(%rcx),%rdx
14098e001:	73 4d                	jae    0x14098e050
14098e003:	41 83 e0 08          	and    $0x8,%r8d
14098e007:	75 17                	jne    0x14098e020
14098e009:	48 8b 41 58          	mov    0x58(%rcx),%rax
14098e00d:	48 c1 e2 05          	shl    $0x5,%rdx
14098e011:	48 8b 44 02 08       	mov    0x8(%rdx,%rax,1),%rax
14098e016:	48 85 c0             	test   %rax,%rax
14098e019:	74 09                	je     0x14098e024
14098e01b:	48 83 c4 28          	add    $0x28,%rsp
14098e01f:	c3                   	ret
14098e020:	48 c1 e2 05          	shl    $0x5,%rdx
14098e024:	48 8b 49 58          	mov    0x58(%rcx),%rcx
14098e028:	48 8b 04 11          	mov    (%rcx,%rdx,1),%rax
14098e02c:	48 85 c0             	test   %rax,%rax
14098e02f:	74 1f                	je     0x14098e050
14098e031:	80 7c 11 18 00       	cmpb   $0x0,0x18(%rcx,%rdx,1)
14098e036:	74 2a                	je     0x14098e062
14098e038:	45 85 c0             	test   %r8d,%r8d
14098e03b:	75 25                	jne    0x14098e062
14098e03d:	41 8d 50 17          	lea    0x17(%r8),%edx
14098e041:	49 8b c9             	mov    %r9,%rcx
14098e044:	e8 47 99 ff ff       	call   0x140987990
14098e049:	33 c0                	xor    %eax,%eax
14098e04b:	48 83 c4 28          	add    $0x28,%rsp
14098e04f:	c3                   	ret
14098e050:	ba 12 00 00 00       	mov    $0x12,%edx
14098e055:	45 33 c0             	xor    %r8d,%r8d
14098e058:	49 8b c9             	mov    %r9,%rcx
14098e05b:	e8 30 99 ff ff       	call   0x140987990
14098e060:	33 c0                	xor    %eax,%eax
14098e062:	48 83 c4 28          	add    $0x28,%rsp
14098e066:	c3                   	ret
14098e067:	cc                   	int3
14098e068:	cc                   	int3
14098e069:	cc                   	int3
14098e06a:	cc                   	int3
14098e06b:	cc                   	int3
14098e06c:	cc                   	int3
14098e06d:	cc                   	int3
14098e06e:	cc                   	int3
14098e06f:	cc                   	int3
14098e070:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14098e075:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14098e07a:	57                   	push   %rdi
14098e07b:	48 83 ec 20          	sub    $0x20,%rsp
14098e07f:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14098e084:	49 8b d8             	mov    %r8,%rbx
14098e087:	48 8b fa             	mov    %rdx,%rdi
14098e08a:	e8 b1 f4 4a 00       	call   0x140e3d540
14098e08f:	4c 8b c8             	mov    %rax,%r9
14098e092:	48 85 c0             	test   %rax,%rax
14098e095:	75 13                	jne    0x14098e0aa
14098e097:	66 c7 03 21 00       	movw   $0x21,(%rbx)
14098e09c:	66 89 07             	mov    %ax,(%rdi)
14098e09f:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14098e0a4:	48 83 c4 20          	add    $0x20,%rsp
14098e0a8:	5f                   	pop    %rdi
14098e0a9:	c3                   	ret
14098e0aa:	8b 40 14             	mov    0x14(%rax),%eax
14098e0ad:	83 f8 50             	cmp    $0x50,%eax
14098e0b0:	7d 09                	jge    0x14098e0bb
14098e0b2:	b8 50 00 00 00       	mov    $0x50,%eax
14098e0b7:	41 89 41 14          	mov    %eax,0x14(%r9)
14098e0bb:	66 c1 e0 04          	shl    $0x4,%ax
14098e0bf:	b9 01 03 00 00       	mov    $0x301,%ecx
14098e0c4:	66 41 03 41 10       	add    0x10(%r9),%ax
14098e0c9:	66 03 c1             	add    %cx,%ax
14098e0cc:	66 c1 e0 05          	shl    $0x5,%ax
14098e0d0:	66 41 03 41 0c       	add    0xc(%r9),%ax
14098e0d5:	66 89 03             	mov    %ax,(%rbx)
14098e0d8:	41 0f b7 49 08       	movzwl 0x8(%r9),%ecx
14098e0dd:	41 8b 01             	mov    (%r9),%eax
14098e0e0:	66 c1 e1 06          	shl    $0x6,%cx
14098e0e4:	66 41 03 49 04       	add    0x4(%r9),%cx
14098e0e9:	66 c1 e1 05          	shl    $0x5,%cx
14098e0ed:	d1 f8                	sar    $1,%eax
14098e0ef:	66 03 c8             	add    %ax,%cx
14098e0f2:	66 89 0f             	mov    %cx,(%rdi)
14098e0f5:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14098e0fa:	48 83 c4 20          	add    $0x20,%rsp
14098e0fe:	5f                   	pop    %rdi
14098e0ff:	c3                   	ret
14098e100:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14098e105:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14098e10a:	56                   	push   %rsi
14098e10b:	57                   	push   %rdi
14098e10c:	41 56                	push   %r14
14098e10e:	48 83 ec 20          	sub    $0x20,%rsp
14098e112:	48 8b 41 58          	mov    0x58(%rcx),%rax
14098e116:	48 8b fa             	mov    %rdx,%rdi
14098e119:	48 c1 e7 05          	shl    $0x5,%rdi
14098e11d:	49 8b d8             	mov    %r8,%rbx
14098e120:	45 33 c0             	xor    %r8d,%r8d
14098e123:	48 8b f1             	mov    %rcx,%rsi
14098e126:	48 8b 2c 07          	mov    (%rdi,%rax,1),%rbp
14098e12a:	48 85 ed             	test   %rbp,%rbp
14098e12d:	75 08                	jne    0x14098e137
14098e12f:	8d 55 14             	lea    0x14(%rbp),%edx
14098e132:	e9 f4 00 00 00       	jmp    0x14098e22b
14098e137:	48 8b 6d 60          	mov    0x60(%rbp),%rbp
14098e13b:	48 8b 09             	mov    (%rcx),%rcx
14098e13e:	48 8b d5             	mov    %rbp,%rdx
14098e141:	e8 ca ca ff ff       	call   0x14098ac10
14098e146:	48 8b 0e             	mov    (%rsi),%rcx
14098e149:	85 c0                	test   %eax,%eax
14098e14b:	79 10                	jns    0x14098e15d
14098e14d:	48 8b d1             	mov    %rcx,%rdx
14098e150:	48 8b cb             	mov    %rbx,%rcx
14098e153:	e8 78 97 ff ff       	call   0x1409878d0
14098e158:	e9 d6 00 00 00       	jmp    0x14098e233
14098e15d:	ba 00 01 00 00       	mov    $0x100,%edx
14098e162:	4c 8b c3             	mov    %rbx,%r8
14098e165:	e8 46 f6 ff ff       	call   0x14098d7b0
14098e16a:	85 c0                	test   %eax,%eax
14098e16c:	0f 88 c1 00 00 00    	js     0x14098e233
14098e172:	8b c8                	mov    %eax,%ecx
14098e174:	49 be ff ff ff ff ff 	movabs $0x7fffffffffffffff,%r14
14098e17b:	ff ff 7f
14098e17e:	48 03 cd             	add    %rbp,%rcx
14098e181:	49 3b ce             	cmp    %r14,%rcx
14098e184:	0f 87 97 00 00 00    	ja     0x14098e221
14098e18a:	48 85 c9             	test   %rcx,%rcx
14098e18d:	0f 84 a0 00 00 00    	je     0x14098e233
14098e193:	48 8b 46 58          	mov    0x58(%rsi),%rax
14098e197:	48 8b 2c 07          	mov    (%rdi,%rax,1),%rbp
14098e19b:	48 8b 7d 28          	mov    0x28(%rbp),%rdi
14098e19f:	48 03 f9             	add    %rcx,%rdi
14098e1a2:	48 3b f9             	cmp    %rcx,%rdi
14098e1a5:	72 7a                	jb     0x14098e221
14098e1a7:	49 3b fe             	cmp    %r14,%rdi
14098e1aa:	77 75                	ja     0x14098e221
14098e1ac:	f6 45 0c 08          	testb  $0x8,0xc(%rbp)
14098e1b0:	74 6a                	je     0x14098e21c
14098e1b2:	48 8b 0e             	mov    (%rsi),%rcx
14098e1b5:	45 33 c0             	xor    %r8d,%r8d
14098e1b8:	48 8b d7             	mov    %rdi,%rdx
14098e1bb:	e8 50 ca ff ff       	call   0x14098ac10
14098e1c0:	48 8b 0e             	mov    (%rsi),%rcx
14098e1c3:	85 c0                	test   %eax,%eax
14098e1c5:	78 86                	js     0x14098e14d
14098e1c7:	41 b8 04 00 00 00    	mov    $0x4,%r8d
14098e1cd:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
14098e1d2:	e8 29 c7 ff ff       	call   0x14098a900