140a56c2b:	48 81 fe ff 7f 00 00 	cmp    $0x7fff,%rsi
140a56c32:	73 78                	jae    0x140a56cac
140a56c34:	66 89 45 20          	mov    %ax,0x20(%rbp)
140a56c38:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a56c3c:	48 8d 41 02          	lea    0x2(%rcx),%rax
140a56c40:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a56c44:	76 2f                	jbe    0x140a56c75
140a56c46:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56c4c:	b2 18                	mov    $0x18,%dl
140a56c4e:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56c52:	e8 89 03 fb ff       	call   0x140a06fe0
140a56c57:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a56c5b:	48 8d 55 30          	lea    0x30(%rbp),%rdx
140a56c5f:	e8 8c 80 f6 ff       	call   0x1409becf0
140a56c64:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56c68:	e8 83 85 f6 ff       	call   0x1409bf1f0
140a56c6d:	32 c0                	xor    %al,%al
140a56c6f:	0f b7 4d 20          	movzwl 0x20(%rbp),%ecx
140a56c73:	eb 0a                	jmp    0x140a56c7f
140a56c75:	0f b7 09             	movzwl (%rcx),%ecx
140a56c78:	48 83 43 10 02       	addq   $0x2,0x10(%rbx)
140a56c7d:	b0 01                	mov    $0x1,%al
140a56c7f:	84 c0                	test   %al,%al
140a56c81:	0f 84 c8 00 00 00    	je     0x140a56d4f
140a56c87:	66 c1 c9 08          	ror    $0x8,%cx
140a56c8b:	66 85 c9             	test   %cx,%cx
140a56c8e:	78 88                	js     0x140a56c18
140a56c90:	48 0f bf d1          	movswq %cx,%rdx
140a56c94:	48 3b d6             	cmp    %rsi,%rdx
140a56c97:	0f 83 9b 00 00 00    	jae    0x140a56d38
140a56c9d:	c6 07 01             	movb   $0x1,(%rdi)
140a56ca0:	48 8b 45 40          	mov    0x40(%rbp),%rax
140a56ca4:	48 89 10             	mov    %rdx,(%rax)
140a56ca7:	e9 b1 00 00 00       	jmp    0x140a56d5d
140a56cac:	48 81 fe ff ff ff 7f 	cmp    $0x7fffffff,%rsi
140a56cb3:	73 60                	jae    0x140a56d15
140a56cb5:	89 45 20             	mov    %eax,0x20(%rbp)
140a56cb8:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a56cbc:	48 8d 41 04          	lea    0x4(%rcx),%rax
140a56cc0:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a56cc4:	76 2e                	jbe    0x140a56cf4
140a56cc6:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56ccc:	b2 18                	mov    $0x18,%dl
140a56cce:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56cd2:	e8 09 03 fb ff       	call   0x140a06fe0
140a56cd7:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a56cdb:	48 8d 55 30          	lea    0x30(%rbp),%rdx
140a56cdf:	e8 0c 80 f6 ff       	call   0x1409becf0
140a56ce4:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56ce8:	e8 03 85 f6 ff       	call   0x1409bf1f0
140a56ced:	32 c0                	xor    %al,%al
140a56cef:	8b 4d 20             	mov    0x20(%rbp),%ecx
140a56cf2:	eb 09                	jmp    0x140a56cfd
140a56cf4:	8b 09                	mov    (%rcx),%ecx
140a56cf6:	48 83 43 10 04       	addq   $0x4,0x10(%rbx)
140a56cfb:	b0 01                	mov    $0x1,%al
140a56cfd:	84 c0                	test   %al,%al
140a56cff:	74 4e                	je     0x140a56d4f
140a56d01:	0f c9                	bswap  %ecx
140a56d03:	85 c9                	test   %ecx,%ecx
140a56d05:	0f 88 0d ff ff ff    	js     0x140a56c18
140a56d0b:	48 63 d1             	movslq %ecx,%rdx
140a56d0e:	48 3b d6             	cmp    %rsi,%rdx
140a56d11:	72 8a                	jb     0x140a56c9d
140a56d13:	eb 23                	jmp    0x140a56d38
140a56d15:	48 89 45 20          	mov    %rax,0x20(%rbp)
140a56d19:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140a56d1d:	e8 2e 0c 00 00       	call   0x140a57950
140a56d22:	84 c0                	test   %al,%al
140a56d24:	74 29                	je     0x140a56d4f
140a56d26:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
140a56d2a:	48 85 c9             	test   %rcx,%rcx
140a56d2d:	0f 88 e5 fe ff ff    	js     0x140a56c18
140a56d33:	48 3b ce             	cmp    %rsi,%rcx
140a56d36:	72 1b                	jb     0x140a56d53
140a56d38:	c6 45 40 39          	movb   $0x39,0x40(%rbp)
140a56d3c:	4c 8d 05 bd 83 62 00 	lea    0x6283bd(%rip),%r8        # 0x14107f100
140a56d43:	48 8d 55 40          	lea    0x40(%rbp),%rdx
140a56d47:	48 8b cb             	mov    %rbx,%rcx
140a56d4a:	e8 c1 e8 f7 ff       	call   0x1409d5610
140a56d4f:	32 c0                	xor    %al,%al
140a56d51:	eb 0c                	jmp    0x140a56d5f
140a56d53:	c6 07 01             	movb   $0x1,(%rdi)
140a56d56:	48 8b 45 40          	mov    0x40(%rbp),%rax
140a56d5a:	48 89 08             	mov    %rcx,(%rax)
140a56d5d:	b0 01                	mov    $0x1,%al
140a56d5f:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140a56d64:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140a56d69:	48 83 c4 20          	add    $0x20,%rsp
140a56d6d:	41 5e                	pop    %r14
140a56d6f:	5f                   	pop    %rdi
140a56d70:	5d                   	pop    %rbp
140a56d71:	c3                   	ret
140a56d72:	cc                   	int3
140a56d73:	cc                   	int3
140a56d74:	cc                   	int3
140a56d75:	cc                   	int3
140a56d76:	cc                   	int3
140a56d77:	cc                   	int3
140a56d78:	cc                   	int3
140a56d79:	cc                   	int3
140a56d7a:	cc                   	int3
140a56d7b:	cc                   	int3
140a56d7c:	cc                   	int3
140a56d7d:	cc                   	int3
140a56d7e:	cc                   	int3
140a56d7f:	cc                   	int3
140a56d80:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a56d85:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a56d8a:	55                   	push   %rbp
140a56d8b:	57                   	push   %rdi
140a56d8c:	41 56                	push   %r14
140a56d8e:	48 8b ec             	mov    %rsp,%rbp
140a56d91:	48 83 ec 20          	sub    $0x20,%rsp
140a56d95:	49 8b f1             	mov    %r9,%rsi
140a56d98:	48 8b d9             	mov    %rcx,%rbx
140a56d9b:	49 8b 78 08          	mov    0x8(%r8),%rdi
140a56d9f:	48 83 ff 7f          	cmp    $0x7f,%rdi
140a56da3:	73 60                	jae    0x140a56e05
140a56da5:	45 32 f6             	xor    %r14b,%r14b
140a56da8:	48 8b 41 10          	mov    0x10(%rcx),%rax
140a56dac:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a56db0:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140a56db4:	77 0c                	ja     0x140a56dc2
140a56db6:	44 0f b6 30          	movzbl (%rax),%r14d
140a56dba:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a56dbe:	b0 01                	mov    $0x1,%al
140a56dc0:	eb 29                	jmp    0x140a56deb
140a56dc2:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56dc8:	b2 18                	mov    $0x18,%dl
140a56dca:	48 8d 4d 20          	lea    0x20(%rbp),%rcx
140a56dce:	e8 0d 02 fb ff       	call   0x140a06fe0
140a56dd3:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a56dd7:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140a56ddb:	e8 10 7f f6 ff       	call   0x1409becf0
140a56de0:	48 8d 4d 20          	lea    0x20(%rbp),%rcx
140a56de4:	e8 07 84 f6 ff       	call   0x1409bf1f0
140a56de9:	32 c0                	xor    %al,%al
140a56deb:	84 c0                	test   %al,%al
140a56ded:	0f 84 20 01 00 00    	je     0x140a56f13
140a56df3:	45 84 f6             	test   %r14b,%r14b
140a56df6:	0f 88 00 01 00 00    	js     0x140a56efc
140a56dfc:	49 0f be c6          	movsbq %r14b,%rax
140a56e00:	e9 eb 00 00 00       	jmp    0x140a56ef0
140a56e05:	33 c0                	xor    %eax,%eax
140a56e07:	48 81 ff ff 7f 00 00 	cmp    $0x7fff,%rdi
140a56e0e:	73 66                	jae    0x140a56e76
140a56e10:	66 89 45 20          	mov    %ax,0x20(%rbp)
140a56e14:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a56e18:	48 8d 41 02          	lea    0x2(%rcx),%rax
140a56e1c:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a56e20:	76 2f                	jbe    0x140a56e51
140a56e22:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56e28:	b2 18                	mov    $0x18,%dl
140a56e2a:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56e2e:	e8 ad 01 fb ff       	call   0x140a06fe0
140a56e33:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a56e37:	48 8d 55 30          	lea    0x30(%rbp),%rdx
140a56e3b:	e8 b0 7e f6 ff       	call   0x1409becf0
140a56e40:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56e44:	e8 a7 83 f6 ff       	call   0x1409bf1f0
140a56e49:	32 c0                	xor    %al,%al
140a56e4b:	0f b7 4d 20          	movzwl 0x20(%rbp),%ecx
140a56e4f:	eb 0a                	jmp    0x140a56e5b
140a56e51:	0f b7 09             	movzwl (%rcx),%ecx
140a56e54:	48 83 43 10 02       	addq   $0x2,0x10(%rbx)
140a56e59:	b0 01                	mov    $0x1,%al
140a56e5b:	84 c0                	test   %al,%al
140a56e5d:	0f 84 b0 00 00 00    	je     0x140a56f13
140a56e63:	66 c1 c9 08          	ror    $0x8,%cx
140a56e67:	66 85 c9             	test   %cx,%cx
140a56e6a:	0f 88 8c 00 00 00    	js     0x140a56efc
140a56e70:	48 0f bf c1          	movswq %cx,%rax
140a56e74:	eb 7a                	jmp    0x140a56ef0
140a56e76:	48 81 ff ff ff ff 7f 	cmp    $0x7fffffff,%rdi
140a56e7d:	73 57                	jae    0x140a56ed6
140a56e7f:	89 45 20             	mov    %eax,0x20(%rbp)
140a56e82:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a56e86:	48 8d 41 04          	lea    0x4(%rcx),%rax
140a56e8a:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a56e8e:	76 2e                	jbe    0x140a56ebe
140a56e90:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56e96:	b2 18                	mov    $0x18,%dl
140a56e98:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56e9c:	e8 3f 01 fb ff       	call   0x140a06fe0
140a56ea1:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a56ea5:	48 8d 55 30          	lea    0x30(%rbp),%rdx
140a56ea9:	e8 42 7e f6 ff       	call   0x1409becf0
140a56eae:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140a56eb2:	e8 39 83 f6 ff       	call   0x1409bf1f0
140a56eb7:	32 c0                	xor    %al,%al
140a56eb9:	8b 4d 20             	mov    0x20(%rbp),%ecx
140a56ebc:	eb 09                	jmp    0x140a56ec7
140a56ebe:	8b 09                	mov    (%rcx),%ecx
140a56ec0:	48 83 43 10 04       	addq   $0x4,0x10(%rbx)
140a56ec5:	b0 01                	mov    $0x1,%al
140a56ec7:	84 c0                	test   %al,%al
140a56ec9:	74 48                	je     0x140a56f13
140a56ecb:	0f c9                	bswap  %ecx
140a56ecd:	85 c9                	test   %ecx,%ecx
140a56ecf:	78 2b                	js     0x140a56efc
140a56ed1:	48 63 c1             	movslq %ecx,%rax
140a56ed4:	eb 1a                	jmp    0x140a56ef0
140a56ed6:	48 89 45 20          	mov    %rax,0x20(%rbp)
140a56eda:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140a56ede:	e8 6d 0a 00 00       	call   0x140a57950
140a56ee3:	84 c0                	test   %al,%al
140a56ee5:	74 2c                	je     0x140a56f13
140a56ee7:	48 8b 45 20          	mov    0x20(%rbp),%rax
140a56eeb:	48 85 c0             	test   %rax,%rax
140a56eee:	78 0c                	js     0x140a56efc
140a56ef0:	48 3b c7             	cmp    %rdi,%rax
140a56ef3:	73 07                	jae    0x140a56efc
140a56ef5:	48 89 06             	mov    %rax,(%rsi)
140a56ef8:	b0 01                	mov    $0x1,%al
140a56efa:	eb 19                	jmp    0x140a56f15
140a56efc:	c6 45 20 39          	movb   $0x39,0x20(%rbp)
140a56f00:	4c 8d 05 f9 81 62 00 	lea    0x6281f9(%rip),%r8        # 0x14107f100
140a56f07:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140a56f0b:	48 8b cb             	mov    %rbx,%rcx
140a56f0e:	e8 fd e6 f7 ff       	call   0x1409d5610
140a56f13:	32 c0                	xor    %al,%al
140a56f15:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140a56f1a:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140a56f1f:	48 83 c4 20          	add    $0x20,%rsp
140a56f23:	41 5e                	pop    %r14
140a56f25:	5f                   	pop    %rdi
140a56f26:	5d                   	pop    %rbp
140a56f27:	c3                   	ret
140a56f28:	cc                   	int3
140a56f29:	cc                   	int3
140a56f2a:	cc                   	int3
140a56f2b:	cc                   	int3
140a56f2c:	cc                   	int3
140a56f2d:	cc                   	int3
140a56f2e:	cc                   	int3
140a56f2f:	cc                   	int3
140a56f30:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a56f35:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a56f3a:	56                   	push   %rsi
140a56f3b:	57                   	push   %rdi
140a56f3c:	41 56                	push   %r14
140a56f3e:	48 83 ec 20          	sub    $0x20,%rsp
140a56f42:	4c 8b f2             	mov    %rdx,%r14
140a56f45:	48 8b d9             	mov    %rcx,%rbx
140a56f48:	33 ed                	xor    %ebp,%ebp
140a56f4a:	40 32 ff             	xor    %dil,%dil
140a56f4d:	8b f5                	mov    %ebp,%esi
140a56f4f:	90                   	nop
140a56f50:	48 8b 43 10          	mov    0x10(%rbx),%rax
140a56f54:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a56f58:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140a56f5c:	77 0b                	ja     0x140a56f69
140a56f5e:	0f b6 38             	movzbl (%rax),%edi
140a56f61:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a56f65:	b0 01                	mov    $0x1,%al
140a56f67:	eb 2c                	jmp    0x140a56f95
140a56f69:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56f6f:	b2 18                	mov    $0x18,%dl
140a56f71:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a56f76:	e8 65 00 fb ff       	call   0x140a06fe0
140a56f7b:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a56f7f:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a56f84:	e8 67 7d f6 ff       	call   0x1409becf0
140a56f89:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a56f8e:	e8 5d 82 f6 ff       	call   0x1409bf1f0
140a56f93:	32 c0                	xor    %al,%al
140a56f95:	84 c0                	test   %al,%al
140a56f97:	74 1d                	je     0x140a56fb6
140a56f99:	40 8b c7             	rex mov %edi,%eax
140a56f9c:	83 e0 7f             	and    $0x7f,%eax
140a56f9f:	8b ce                	mov    %esi,%ecx
140a56fa1:	d3 e0                	shl    %cl,%eax
140a56fa3:	0b e8                	or     %eax,%ebp
140a56fa5:	83 c6 07             	add    $0x7,%esi
140a56fa8:	40 84 ff             	test   %dil,%dil
140a56fab:	78 a3                	js     0x140a56f50
140a56fad:	8b c5                	mov    %ebp,%eax
140a56faf:	49 89 06             	mov    %rax,(%r14)
140a56fb2:	b0 01                	mov    $0x1,%al
140a56fb4:	eb 02                	jmp    0x140a56fb8
140a56fb6:	32 c0                	xor    %al,%al
140a56fb8:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140a56fbd:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140a56fc2:	48 83 c4 20          	add    $0x20,%rsp
140a56fc6:	41 5e                	pop    %r14
140a56fc8:	5f                   	pop    %rdi
140a56fc9:	5e                   	pop    %rsi
140a56fca:	c3                   	ret
140a56fcb:	cc                   	int3
140a56fcc:	cc                   	int3
140a56fcd:	cc                   	int3
140a56fce:	cc                   	int3
140a56fcf:	cc                   	int3
140a56fd0:	40 53                	rex push %rbx
140a56fd2:	48 83 ec 20          	sub    $0x20,%rsp
140a56fd6:	48 8b d9             	mov    %rcx,%rbx
140a56fd9:	48 8b 41 10          	mov    0x10(%rcx),%rax
140a56fdd:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a56fe1:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140a56fe5:	77 11                	ja     0x140a56ff8
140a56fe7:	0f b6 00             	movzbl (%rax),%eax
140a56fea:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a56fee:	88 02                	mov    %al,(%rdx)
140a56ff0:	b0 01                	mov    $0x1,%al
140a56ff2:	48 83 c4 20          	add    $0x20,%rsp
140a56ff6:	5b                   	pop    %rbx
140a56ff7:	c3                   	ret
140a56ff8:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a56ffe:	b2 18                	mov    $0x18,%dl
140a57000:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a57005:	e8 d6 ff fa ff       	call   0x140a06fe0
140a5700a:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a5700e:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140a57013:	e8 d8 7c f6 ff       	call   0x1409becf0
140a57018:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a5701d:	e8 ce 81 f6 ff       	call   0x1409bf1f0
140a57022:	32 c0                	xor    %al,%al
140a57024:	48 83 c4 20          	add    $0x20,%rsp
140a57028:	5b                   	pop    %rbx
140a57029:	c3                   	ret
140a5702a:	cc                   	int3
140a5702b:	cc                   	int3
140a5702c:	cc                   	int3
140a5702d:	cc                   	int3
140a5702e:	cc                   	int3
140a5702f:	cc                   	int3
140a57030:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a57035:	57                   	push   %rdi
140a57036:	48 83 ec 20          	sub    $0x20,%rsp
140a5703a:	48 8b fa             	mov    %rdx,%rdi
140a5703d:	48 8b d9             	mov    %rcx,%rbx
140a57040:	33 c0                	xor    %eax,%eax
140a57042:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
140a57047:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a5704b:	48 8d 41 02          	lea    0x2(%rcx),%rax
140a5704f:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a57053:	76 33                	jbe    0x140a57088
140a57055:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5705b:	b2 18                	mov    $0x18,%dl
140a5705d:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a57062:	e8 79 ff fa ff       	call   0x140a06fe0
140a57067:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a5706b:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a57070:	e8 7b 7c f6 ff       	call   0x1409becf0
140a57075:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a5707a:	e8 71 81 f6 ff       	call   0x1409bf1f0
140a5707f:	32 c0                	xor    %al,%al
140a57081:	0f b7 4c 24 30       	movzwl 0x30(%rsp),%ecx
140a57086:	eb 0a                	jmp    0x140a57092