140015bcd:	00
140015bce:	77 03                	ja     0x140015bd3
140015bd0:	83 c1 e0             	add    $0xffffffe0,%ecx
140015bd3:	83 c1 c9             	add    $0xffffffc9,%ecx
140015bd6:	eb 03                	jmp    0x140015bdb
140015bd8:	83 c9 ff             	or     $0xffffffff,%ecx
140015bdb:	4c 8b 07             	mov    (%rdi),%r8
140015bde:	41 3b cf             	cmp    %r15d,%ecx
140015be1:	73 38                	jae    0x140015c1b
140015be3:	41 0f b7 18          	movzwl (%r8),%ebx
140015be7:	41 8b c6             	mov    %r14d,%eax
140015bea:	41 0f af c7          	imul   %r15d,%eax
140015bee:	8d 14 08             	lea    (%rax,%rcx,1),%edx
140015bf1:	41 8b ca             	mov    %r10d,%ecx
140015bf4:	3b d0                	cmp    %eax,%edx
140015bf6:	41 8b c2             	mov    %r10d,%eax
140015bf9:	0f 92 c1             	setb   %cl
140015bfc:	45 3b f1             	cmp    %r9d,%r14d
140015bff:	44 8b f2             	mov    %edx,%r14d
140015c02:	0f 97 c0             	seta   %al
140015c05:	0b c8                	or     %eax,%ecx
140015c07:	49 8d 40 02          	lea    0x2(%r8),%rax
140015c0b:	c1 e1 02             	shl    $0x2,%ecx
140015c0e:	83 c9 08             	or     $0x8,%ecx
140015c11:	48 89 07             	mov    %rax,(%rdi)
140015c14:	0b f1                	or     %ecx,%esi
140015c16:	e9 bd fd ff ff       	jmp    0x1400159d8
140015c1b:	4c 8b ac 24 e0 00 00 	mov    0xe0(%rsp),%r13
140015c22:	00
140015c23:	49 8d 40 fe          	lea    -0x2(%r8),%rax
140015c27:	4c 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12
140015c2e:	00
140015c2f:	bd 02 00 00 00       	mov    $0x2,%ebp
140015c34:	48 89 07             	mov    %rax,(%rdi)
140015c37:	66 85 db             	test   %bx,%bx
140015c3a:	74 15                	je     0x140015c51
140015c3c:	66 39 18             	cmp    %bx,(%rax)
140015c3f:	74 10                	je     0x140015c51
140015c41:	e8 96 b4 00 00       	call   0x1400210dc
140015c46:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140015c4c:	e8 03 93 ff ff       	call   0x14000ef54
140015c51:	40 f6 c6 08          	test   $0x8,%sil
140015c55:	75 16                	jne    0x140015c6d
140015c57:	48 8b 47 08          	mov    0x8(%rdi),%rax
140015c5b:	4c 89 27             	mov    %r12,(%rdi)
140015c5e:	48 85 c0             	test   %rax,%rax
140015c61:	74 03                	je     0x140015c66
140015c63:	4c 89 20             	mov    %r12,(%rax)
140015c66:	33 c0                	xor    %eax,%eax
140015c68:	e9 92 00 00 00       	jmp    0x140015cff
140015c6d:	41 b8 00 00 00 80    	mov    $0x80000000,%r8d
140015c73:	45 8d 48 ff          	lea    -0x1(%r8),%r9d
140015c77:	40 f6 c6 04          	test   $0x4,%sil
140015c7b:	74 09                	je     0x140015c86
140015c7d:	b8 01 00 00 00       	mov    $0x1,%eax
140015c82:	8b ce                	mov    %esi,%ecx
140015c84:	eb 1e                	jmp    0x140015ca4
140015c86:	40 f6 c6 01          	test   $0x1,%sil
140015c8a:	74 59                	je     0x140015ce5
140015c8c:	40 84 f5             	test   %sil,%bpl
140015c8f:	74 07                	je     0x140015c98
140015c91:	45 3b f0             	cmp    %r8d,%r14d
140015c94:	76 54                	jbe    0x140015cea
140015c96:	eb 05                	jmp    0x140015c9d
140015c98:	45 3b f1             	cmp    %r9d,%r14d
140015c9b:	76 50                	jbe    0x140015ced
140015c9d:	b9 01 00 00 00       	mov    $0x1,%ecx
140015ca2:	8b c6                	mov    %esi,%eax
140015ca4:	23 ee                	and    %esi,%ebp
140015ca6:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
140015cab:	41 c7 45 2c 22 00 00 	movl   $0x22,0x2c(%r13)
140015cb2:	00
140015cb3:	85 c8                	test   %ecx,%eax
140015cb5:	75 06                	jne    0x140015cbd
140015cb7:	41 83 ce ff          	or     $0xffffffff,%r14d
140015cbb:	eb 30                	jmp    0x140015ced
140015cbd:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140015cc1:	85 ed                	test   %ebp,%ebp
140015cc3:	74 10                	je     0x140015cd5
140015cc5:	48 85 d2             	test   %rdx,%rdx
140015cc8:	74 06                	je     0x140015cd0
140015cca:	48 8b 0f             	mov    (%rdi),%rcx
140015ccd:	48 89 0a             	mov    %rcx,(%rdx)
140015cd0:	41 8b c0             	mov    %r8d,%eax
140015cd3:	eb 2a                	jmp    0x140015cff
140015cd5:	48 85 d2             	test   %rdx,%rdx
140015cd8:	74 06                	je     0x140015ce0
140015cda:	48 8b 0f             	mov    (%rdi),%rcx
140015cdd:	48 89 0a             	mov    %rcx,(%rdx)
140015ce0:	41 8b c1             	mov    %r9d,%eax
140015ce3:	eb 1a                	jmp    0x140015cff
140015ce5:	40 84 f5             	test   %sil,%bpl
140015ce8:	74 03                	je     0x140015ced
140015cea:	41 f7 de             	neg    %r14d
140015ced:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140015cf1:	48 85 d2             	test   %rdx,%rdx
140015cf4:	74 06                	je     0x140015cfc
140015cf6:	48 8b 0f             	mov    (%rdi),%rcx
140015cf9:	48 89 0a             	mov    %rcx,(%rdx)
140015cfc:	41 8b c6             	mov    %r14d,%eax
140015cff:	48 8b 9c 24 f0 00 00 	mov    0xf0(%rsp),%rbx
140015d06:	00
140015d07:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
140015d0e:	41 5f                	pop    %r15
140015d10:	41 5e                	pop    %r14
140015d12:	41 5d                	pop    %r13
140015d14:	41 5c                	pop    %r12
140015d16:	5f                   	pop    %rdi
140015d17:	5e                   	pop    %rsi
140015d18:	5d                   	pop    %rbp
140015d19:	c3                   	ret
140015d1a:	cc                   	int3
140015d1b:	cc                   	int3
140015d1c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140015d21:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140015d26:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140015d2b:	57                   	push   %rdi
140015d2c:	41 54                	push   %r12
140015d2e:	41 55                	push   %r13
140015d30:	41 56                	push   %r14
140015d32:	41 57                	push   %r15
140015d34:	48 83 ec 30          	sub    $0x30,%rsp
140015d38:	4c 8b 22             	mov    (%rdx),%r12
140015d3b:	41 8b f0             	mov    %r8d,%esi
140015d3e:	45 0f b6 e9          	movzbl %r9b,%r13d
140015d42:	48 8b da             	mov    %rdx,%rbx
140015d45:	4c 8b f9             	mov    %rcx,%r15
140015d48:	4d 85 e4             	test   %r12,%r12
140015d4b:	75 12                	jne    0x140015d5f
140015d4d:	e8 8a b3 00 00       	call   0x1400210dc
140015d52:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140015d58:	e8 f7 91 ff ff       	call   0x14000ef54
140015d5d:	eb 32                	jmp    0x140015d91
140015d5f:	85 f6                	test   %esi,%esi
140015d61:	74 46                	je     0x140015da9
140015d63:	41 8d 40 fe          	lea    -0x2(%r8),%eax
140015d67:	83 f8 22             	cmp    $0x22,%eax
140015d6a:	76 3d                	jbe    0x140015da9
140015d6c:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
140015d70:	45 33 c9             	xor    %r9d,%r9d
140015d73:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
140015d7a:	45 33 c0             	xor    %r8d,%r8d
140015d7d:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140015d82:	33 c9                	xor    %ecx,%ecx
140015d84:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140015d8a:	33 d2                	xor    %edx,%edx
140015d8c:	e8 f7 90 ff ff       	call   0x14000ee88
140015d91:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140015d95:	48 85 c9             	test   %rcx,%rcx
140015d98:	0f 84 bd 01 00 00    	je     0x140015f5b
140015d9e:	48 8b 03             	mov    (%rbx),%rax
140015da1:	48 89 01             	mov    %rax,(%rcx)
140015da4:	e9 b2 01 00 00       	jmp    0x140015f5b
140015da9:	41 0f b6 3c 24       	movzbl (%r12),%edi
140015dae:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140015db3:	33 ed                	xor    %ebp,%ebp
140015db5:	48 89 02             	mov    %rax,(%rdx)
140015db8:	40 38 69 28          	cmp    %bpl,0x28(%rcx)
140015dbc:	75 13                	jne    0x140015dd1
140015dbe:	e8 7d e8 ff ff       	call   0x140014640
140015dc3:	eb 0c                	jmp    0x140015dd1
140015dc5:	48 8b 03             	mov    (%rbx),%rax
140015dc8:	0f b6 38             	movzbl (%rax),%edi
140015dcb:	48 ff c0             	inc    %rax
140015dce:	48 89 03             	mov    %rax,(%rbx)
140015dd1:	4d 8d 47 18          	lea    0x18(%r15),%r8
140015dd5:	ba 08 00 00 00       	mov    $0x8,%edx
140015dda:	8b cf                	mov    %edi,%ecx
140015ddc:	e8 17 02 00 00       	call   0x140015ff8
140015de1:	85 c0                	test   %eax,%eax
140015de3:	75 e0                	jne    0x140015dc5
140015de5:	45 8b f5             	mov    %r13d,%r14d
140015de8:	8d 47 d5             	lea    -0x2b(%rdi),%eax
140015deb:	41 83 ce 02          	or     $0x2,%r14d
140015def:	40 80 ff 2d          	cmp    $0x2d,%dil
140015df3:	45 0f 45 f5          	cmovne %r13d,%r14d
140015df7:	a8 fd                	test   $0xfd,%al
140015df9:	75 0c                	jne    0x140015e07
140015dfb:	48 8b 03             	mov    (%rbx),%rax
140015dfe:	40 8a 38             	mov    (%rax),%dil
140015e01:	48 ff c0             	inc    %rax
140015e04:	48 89 03             	mov    %rax,(%rbx)
140015e07:	41 b5 19             	mov    $0x19,%r13b
140015e0a:	f7 c6 ef ff ff ff    	test   $0xffffffef,%esi
140015e10:	0f 85 8d 00 00 00    	jne    0x140015ea3
140015e16:	8d 47 d0             	lea    -0x30(%rdi),%eax
140015e19:	3c 09                	cmp    $0x9,%al
140015e1b:	77 09                	ja     0x140015e26
140015e1d:	40 0f be c7          	movsbl %dil,%eax
140015e21:	83 c0 d0             	add    $0xffffffd0,%eax
140015e24:	eb 20                	jmp    0x140015e46
140015e26:	8d 47 9f             	lea    -0x61(%rdi),%eax
140015e29:	41 3a c5             	cmp    %r13b,%al
140015e2c:	77 09                	ja     0x140015e37
140015e2e:	40 0f be c7          	movsbl %dil,%eax
140015e32:	83 c0 a9             	add    $0xffffffa9,%eax
140015e35:	eb 0f                	jmp    0x140015e46
140015e37:	8d 47 bf             	lea    -0x41(%rdi),%eax
140015e3a:	41 3a c5             	cmp    %r13b,%al
140015e3d:	77 58                	ja     0x140015e97
140015e3f:	40 0f be c7          	movsbl %dil,%eax
140015e43:	83 c0 c9             	add    $0xffffffc9,%eax
140015e46:	85 c0                	test   %eax,%eax
140015e48:	75 4d                	jne    0x140015e97
140015e4a:	48 8b 0b             	mov    (%rbx),%rcx
140015e4d:	8a 11                	mov    (%rcx),%dl
140015e4f:	4c 8d 41 01          	lea    0x1(%rcx),%r8
140015e53:	4c 89 03             	mov    %r8,(%rbx)
140015e56:	8d 42 a8             	lea    -0x58(%rdx),%eax
140015e59:	a8 df                	test   $0xdf,%al
140015e5b:	74 29                	je     0x140015e86
140015e5d:	85 f6                	test   %esi,%esi
140015e5f:	48 89 0b             	mov    %rcx,(%rbx)
140015e62:	b8 08 00 00 00       	mov    $0x8,%eax
140015e67:	0f 45 c6             	cmovne %esi,%eax
140015e6a:	8b f0                	mov    %eax,%esi
140015e6c:	84 d2                	test   %dl,%dl
140015e6e:	74 33                	je     0x140015ea3
140015e70:	38 11                	cmp    %dl,(%rcx)
140015e72:	74 2f                	je     0x140015ea3
140015e74:	e8 63 b2 00 00       	call   0x1400210dc
140015e79:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140015e7f:	e8 d0 90 ff ff       	call   0x14000ef54
140015e84:	eb 1d                	jmp    0x140015ea3
140015e86:	41 8a 38             	mov    (%r8),%dil
140015e89:	49 8d 40 01          	lea    0x1(%r8),%rax
140015e8d:	48 89 03             	mov    %rax,(%rbx)
140015e90:	b8 10 00 00 00       	mov    $0x10,%eax
140015e95:	eb 05                	jmp    0x140015e9c
140015e97:	b8 0a 00 00 00       	mov    $0xa,%eax
140015e9c:	85 f6                	test   %esi,%esi
140015e9e:	0f 45 c6             	cmovne %esi,%eax
140015ea1:	8b f0                	mov    %eax,%esi
140015ea3:	4c 63 ce             	movslq %esi,%r9
140015ea6:	33 d2                	xor    %edx,%edx
140015ea8:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140015eac:	49 f7 f1             	div    %r9
140015eaf:	4c 8b d0             	mov    %rax,%r10
140015eb2:	8d 4f d0             	lea    -0x30(%rdi),%ecx
140015eb5:	80 f9 09             	cmp    $0x9,%cl
140015eb8:	77 09                	ja     0x140015ec3
140015eba:	40 0f be cf          	movsbl %dil,%ecx
140015ebe:	83 c1 d0             	add    $0xffffffd0,%ecx
140015ec1:	eb 25                	jmp    0x140015ee8
140015ec3:	8d 47 9f             	lea    -0x61(%rdi),%eax
140015ec6:	41 3a c5             	cmp    %r13b,%al
140015ec9:	77 09                	ja     0x140015ed4
140015ecb:	40 0f be cf          	movsbl %dil,%ecx
140015ecf:	83 c1 a9             	add    $0xffffffa9,%ecx
140015ed2:	eb 14                	jmp    0x140015ee8
140015ed4:	8d 47 bf             	lea    -0x41(%rdi),%eax
140015ed7:	41 3a c5             	cmp    %r13b,%al
140015eda:	77 09                	ja     0x140015ee5
140015edc:	40 0f be cf          	movsbl %dil,%ecx
140015ee0:	83 c1 c9             	add    $0xffffffc9,%ecx
140015ee3:	eb 03                	jmp    0x140015ee8
140015ee5:	83 c9 ff             	or     $0xffffffff,%ecx
140015ee8:	4c 8b 03             	mov    (%rbx),%r8
140015eeb:	3b ce                	cmp    %esi,%ecx
140015eed:	73 36                	jae    0x140015f25
140015eef:	41 8a 38             	mov    (%r8),%dil
140015ef2:	49 8b c1             	mov    %r9,%rax
140015ef5:	48 0f af c5          	imul   %rbp,%rax
140015ef9:	8b d1                	mov    %ecx,%edx
140015efb:	33 c9                	xor    %ecx,%ecx
140015efd:	48 03 d0             	add    %rax,%rdx
140015f00:	48 3b d0             	cmp    %rax,%rdx
140015f03:	0f 92 c1             	setb   %cl
140015f06:	33 c0                	xor    %eax,%eax
140015f08:	49 3b ea             	cmp    %r10,%rbp
140015f0b:	48 8b ea             	mov    %rdx,%rbp
140015f0e:	0f 97 c0             	seta   %al
140015f11:	0b c8                	or     %eax,%ecx
140015f13:	49 8d 40 01          	lea    0x1(%r8),%rax
140015f17:	c1 e1 02             	shl    $0x2,%ecx
140015f1a:	83 c9 08             	or     $0x8,%ecx
140015f1d:	48 89 03             	mov    %rax,(%rbx)
140015f20:	44 0b f1             	or     %ecx,%r14d
140015f23:	eb 8d                	jmp    0x140015eb2
140015f25:	49 8d 40 ff          	lea    -0x1(%r8),%rax
140015f29:	48 89 03             	mov    %rax,(%rbx)
140015f2c:	40 84 ff             	test   %dil,%dil
140015f2f:	74 15                	je     0x140015f46
140015f31:	40 38 38             	cmp    %dil,(%rax)
140015f34:	74 10                	je     0x140015f46
140015f36:	e8 a1 b1 00 00       	call   0x1400210dc
140015f3b:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140015f41:	e8 0e 90 ff ff       	call   0x14000ef54
140015f46:	41 f6 c6 08          	test   $0x8,%r14b
140015f4a:	75 13                	jne    0x140015f5f
140015f4c:	48 8b 43 08          	mov    0x8(%rbx),%rax
140015f50:	4c 89 23             	mov    %r12,(%rbx)
140015f53:	48 85 c0             	test   %rax,%rax
140015f56:	74 03                	je     0x140015f5b
140015f58:	4c 89 20             	mov    %r12,(%rax)
140015f5b:	33 c0                	xor    %eax,%eax
140015f5d:	eb 7b                	jmp    0x140015fda
140015f5f:	48 8b d5             	mov    %rbp,%rdx
140015f62:	41 8b ce             	mov    %r14d,%ecx
140015f65:	e8 ee f2 ff ff       	call   0x140015258
140015f6a:	84 c0                	test   %al,%al
140015f6c:	74 51                	je     0x140015fbf
140015f6e:	41 c6 47 30 01       	movb   $0x1,0x30(%r15)
140015f73:	41 c7 47 2c 22 00 00 	movl   $0x22,0x2c(%r15)
140015f7a:	00
140015f7b:	41 f6 c6 01          	test   $0x1,%r14b
140015f7f:	75 06                	jne    0x140015f87
140015f81:	48 83 cd ff          	or     $0xffffffffffffffff,%rbp
140015f85:	eb 41                	jmp    0x140015fc8
140015f87:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140015f8b:	41 f6 c6 02          	test   $0x2,%r14b
140015f8f:	74 17                	je     0x140015fa8
140015f91:	48 85 c9             	test   %rcx,%rcx
140015f94:	74 06                	je     0x140015f9c
140015f96:	48 8b 03             	mov    (%rbx),%rax
140015f99:	48 89 01             	mov    %rax,(%rcx)
140015f9c:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140015fa3:	00 00 80
140015fa6:	eb 32                	jmp    0x140015fda
140015fa8:	48 85 c9             	test   %rcx,%rcx
140015fab:	74 06                	je     0x140015fb3
140015fad:	48 8b 03             	mov    (%rbx),%rax
140015fb0:	48 89 01             	mov    %rax,(%rcx)
140015fb3:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140015fba:	ff ff 7f
140015fbd:	eb 1b                	jmp    0x140015fda
140015fbf:	41 f6 c6 02          	test   $0x2,%r14b
140015fc3:	74 03                	je     0x140015fc8
140015fc5:	48 f7 dd             	neg    %rbp
140015fc8:	48 8b 43 08          	mov    0x8(%rbx),%rax
140015fcc:	48 85 c0             	test   %rax,%rax
140015fcf:	74 06                	je     0x140015fd7
140015fd1:	48 8b 0b             	mov    (%rbx),%rcx
140015fd4:	48 89 08             	mov    %rcx,(%rax)
140015fd7:	48 8b c5             	mov    %rbp,%rax
140015fda:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140015fdf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140015fe4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140015fe9:	48 83 c4 30          	add    $0x30,%rsp
140015fed:	41 5f                	pop    %r15
140015fef:	41 5e                	pop    %r14
140015ff1:	41 5d                	pop    %r13
140015ff3:	41 5c                	pop    %r12
140015ff5:	5f                   	pop    %rdi
140015ff6:	c3                   	ret
140015ff7:	cc                   	int3
140015ff8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140015ffd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140016002:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140016007:	57                   	push   %rdi