140015944:	0f b7 cb             	movzwl %bx,%ecx
140015947:	8d 41 bf             	lea    -0x41(%rcx),%eax
14001594a:	3b c2                	cmp    %edx,%eax
14001594c:	8d 41 9f             	lea    -0x61(%rcx),%eax
14001594f:	76 08                	jbe    0x140015959
140015951:	3b c2                	cmp    %edx,%eax
140015953:	0f 87 b6 00 00 00    	ja     0x140015a0f
140015959:	3b c2                	cmp    %edx,%eax
14001595b:	77 03                	ja     0x140015960
14001595d:	83 c1 e0             	add    $0xffffffe0,%ecx
140015960:	8d 41 c9             	lea    -0x37(%rcx),%eax
140015963:	45 33 d2             	xor    %r10d,%r10d
140015966:	85 c0                	test   %eax,%eax
140015968:	0f 85 a4 00 00 00    	jne    0x140015a12
14001596e:	48 8b 0f             	mov    (%rdi),%rcx
140015971:	41 b9 df ff 00 00    	mov    $0xffdf,%r9d
140015977:	0f b7 11             	movzwl (%rcx),%edx
14001597a:	4c 8d 41 02          	lea    0x2(%rcx),%r8
14001597e:	4c 89 07             	mov    %r8,(%rdi)
140015981:	8d 42 a8             	lea    -0x58(%rdx),%eax
140015984:	66 41 85 c1          	test   %ax,%r9w
140015988:	74 69                	je     0x1400159f3
14001598a:	45 85 ff             	test   %r15d,%r15d
14001598d:	48 89 0f             	mov    %rcx,(%rdi)
140015990:	41 8d 42 08          	lea    0x8(%r10),%eax
140015994:	41 0f 45 c7          	cmovne %r15d,%eax
140015998:	44 8b f8             	mov    %eax,%r15d
14001599b:	66 85 d2             	test   %dx,%dx
14001599e:	74 18                	je     0x1400159b8
1400159a0:	66 39 11             	cmp    %dx,(%rcx)
1400159a3:	74 13                	je     0x1400159b8
1400159a5:	e8 32 b7 00 00       	call   0x1400210dc
1400159aa:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400159b0:	e8 9f 95 ff ff       	call   0x14000ef54
1400159b5:	45 33 d2             	xor    %r10d,%r10d
1400159b8:	33 d2                	xor    %edx,%edx
1400159ba:	83 c8 ff             	or     $0xffffffff,%eax
1400159bd:	41 f7 f7             	div    %r15d
1400159c0:	41 bb 61 00 00 00    	mov    $0x61,%r11d
1400159c6:	bd 60 06 00 00       	mov    $0x660,%ebp
1400159cb:	44 8b c8             	mov    %eax,%r9d
1400159ce:	41 bd 10 ff 00 00    	mov    $0xff10,%r13d
1400159d4:	45 8d 63 cf          	lea    -0x31(%r11),%r12d
1400159d8:	66 41 3b dc          	cmp    %r12w,%bx
1400159dc:	0f 82 c5 01 00 00    	jb     0x140015ba7
1400159e2:	66 83 fb 3a          	cmp    $0x3a,%bx
1400159e6:	73 31                	jae    0x140015a19
1400159e8:	0f b7 cb             	movzwl %bx,%ecx
1400159eb:	41 2b cc             	sub    %r12d,%ecx
1400159ee:	e9 af 01 00 00       	jmp    0x140015ba2
1400159f3:	41 0f b7 18          	movzwl (%r8),%ebx
1400159f7:	49 8d 40 02          	lea    0x2(%r8),%rax
1400159fb:	48 89 07             	mov    %rax,(%rdi)
1400159fe:	b8 10 00 00 00       	mov    $0x10,%eax
140015a03:	45 85 ff             	test   %r15d,%r15d
140015a06:	41 0f 45 c7          	cmovne %r15d,%eax
140015a0a:	44 8b f8             	mov    %eax,%r15d
140015a0d:	eb a9                	jmp    0x1400159b8
140015a0f:	45 33 d2             	xor    %r10d,%r10d
140015a12:	b8 0a 00 00 00       	mov    $0xa,%eax
140015a17:	eb ea                	jmp    0x140015a03
140015a19:	66 41 3b dd          	cmp    %r13w,%bx
140015a1d:	0f 83 6f 01 00 00    	jae    0x140015b92
140015a23:	66 3b dd             	cmp    %bp,%bx
140015a26:	0f 82 7b 01 00 00    	jb     0x140015ba7
140015a2c:	b8 6a 06 00 00       	mov    $0x66a,%eax
140015a31:	66 3b d8             	cmp    %ax,%bx
140015a34:	73 0a                	jae    0x140015a40
140015a36:	0f b7 cb             	movzwl %bx,%ecx
140015a39:	2b cd                	sub    %ebp,%ecx
140015a3b:	e9 62 01 00 00       	jmp    0x140015ba2
140015a40:	b8 f0 06 00 00       	mov    $0x6f0,%eax
140015a45:	66 3b d8             	cmp    %ax,%bx
140015a48:	0f 82 59 01 00 00    	jb     0x140015ba7
140015a4e:	8d 48 0a             	lea    0xa(%rax),%ecx
140015a51:	66 3b d9             	cmp    %cx,%bx
140015a54:	73 0a                	jae    0x140015a60
140015a56:	0f b7 cb             	movzwl %bx,%ecx
140015a59:	2b c8                	sub    %eax,%ecx
140015a5b:	e9 42 01 00 00       	jmp    0x140015ba2
140015a60:	b8 66 09 00 00       	mov    $0x966,%eax
140015a65:	66 3b d8             	cmp    %ax,%bx
140015a68:	0f 82 39 01 00 00    	jb     0x140015ba7
140015a6e:	8d 48 0a             	lea    0xa(%rax),%ecx
140015a71:	66 3b d9             	cmp    %cx,%bx
140015a74:	72 e0                	jb     0x140015a56
140015a76:	8d 41 76             	lea    0x76(%rcx),%eax
140015a79:	66 3b d8             	cmp    %ax,%bx
140015a7c:	0f 82 25 01 00 00    	jb     0x140015ba7
140015a82:	8d 48 0a             	lea    0xa(%rax),%ecx
140015a85:	66 3b d9             	cmp    %cx,%bx
140015a88:	72 cc                	jb     0x140015a56
140015a8a:	8d 41 76             	lea    0x76(%rcx),%eax
140015a8d:	66 3b d8             	cmp    %ax,%bx
140015a90:	0f 82 11 01 00 00    	jb     0x140015ba7
140015a96:	66 3b 9c 24 e8 00 00 	cmp    0xe8(%rsp),%bx
140015a9d:	00
140015a9e:	72 b6                	jb     0x140015a56
140015aa0:	8b 44 24 30          	mov    0x30(%rsp),%eax
140015aa4:	66 3b d8             	cmp    %ax,%bx
140015aa7:	0f 82 fa 00 00 00    	jb     0x140015ba7
140015aad:	66 3b 5c 24 34       	cmp    0x34(%rsp),%bx
140015ab2:	72 a2                	jb     0x140015a56
140015ab4:	8b 44 24 38          	mov    0x38(%rsp),%eax
140015ab8:	66 3b d8             	cmp    %ax,%bx
140015abb:	0f 82 e6 00 00 00    	jb     0x140015ba7
140015ac1:	66 3b 5c 24 3c       	cmp    0x3c(%rsp),%bx
140015ac6:	72 8e                	jb     0x140015a56
140015ac8:	8b 44 24 40          	mov    0x40(%rsp),%eax
140015acc:	66 3b d8             	cmp    %ax,%bx
140015acf:	0f 82 d2 00 00 00    	jb     0x140015ba7
140015ad5:	66 3b 5c 24 44       	cmp    0x44(%rsp),%bx
140015ada:	0f 82 76 ff ff ff    	jb     0x140015a56
140015ae0:	8b 44 24 48          	mov    0x48(%rsp),%eax
140015ae4:	66 3b d8             	cmp    %ax,%bx
140015ae7:	0f 82 ba 00 00 00    	jb     0x140015ba7
140015aed:	66 3b 5c 24 4c       	cmp    0x4c(%rsp),%bx
140015af2:	0f 82 5e ff ff ff    	jb     0x140015a56
140015af8:	8b 44 24 50          	mov    0x50(%rsp),%eax
140015afc:	66 3b d8             	cmp    %ax,%bx
140015aff:	0f 82 a2 00 00 00    	jb     0x140015ba7
140015b05:	66 3b 5c 24 54       	cmp    0x54(%rsp),%bx
140015b0a:	0f 82 46 ff ff ff    	jb     0x140015a56
140015b10:	8b 44 24 58          	mov    0x58(%rsp),%eax
140015b14:	66 3b d8             	cmp    %ax,%bx
140015b17:	0f 82 8a 00 00 00    	jb     0x140015ba7
140015b1d:	66 3b 5c 24 5c       	cmp    0x5c(%rsp),%bx
140015b22:	0f 82 2e ff ff ff    	jb     0x140015a56
140015b28:	8b 44 24 60          	mov    0x60(%rsp),%eax
140015b2c:	66 3b d8             	cmp    %ax,%bx
140015b2f:	72 76                	jb     0x140015ba7
140015b31:	66 3b 5c 24 64       	cmp    0x64(%rsp),%bx
140015b36:	0f 82 1a ff ff ff    	jb     0x140015a56
140015b3c:	8b 44 24 68          	mov    0x68(%rsp),%eax
140015b40:	66 3b d8             	cmp    %ax,%bx
140015b43:	72 62                	jb     0x140015ba7
140015b45:	66 3b 5c 24 6c       	cmp    0x6c(%rsp),%bx
140015b4a:	0f 82 06 ff ff ff    	jb     0x140015a56
140015b50:	8b 44 24 70          	mov    0x70(%rsp),%eax
140015b54:	66 3b d8             	cmp    %ax,%bx
140015b57:	72 4e                	jb     0x140015ba7
140015b59:	66 3b 5c 24 74       	cmp    0x74(%rsp),%bx
140015b5e:	0f 82 f2 fe ff ff    	jb     0x140015a56
140015b64:	8b 44 24 78          	mov    0x78(%rsp),%eax
140015b68:	66 3b d8             	cmp    %ax,%bx
140015b6b:	72 3a                	jb     0x140015ba7
140015b6d:	66 3b 5c 24 7c       	cmp    0x7c(%rsp),%bx
140015b72:	0f 82 de fe ff ff    	jb     0x140015a56
140015b78:	8b 94 24 80 00 00 00 	mov    0x80(%rsp),%edx
140015b7f:	0f b7 c3             	movzwl %bx,%eax
140015b82:	66 2b c2             	sub    %dx,%ax
140015b85:	66 83 f8 09          	cmp    $0x9,%ax
140015b89:	77 1c                	ja     0x140015ba7
140015b8b:	0f b7 cb             	movzwl %bx,%ecx
140015b8e:	2b ca                	sub    %edx,%ecx
140015b90:	eb 10                	jmp    0x140015ba2
140015b92:	66 3b 9c 24 84 00 00 	cmp    0x84(%rsp),%bx
140015b99:	00
140015b9a:	73 0b                	jae    0x140015ba7
140015b9c:	0f b7 cb             	movzwl %bx,%ecx
140015b9f:	41 2b cd             	sub    %r13d,%ecx
140015ba2:	83 f9 ff             	cmp    $0xffffffff,%ecx
140015ba5:	75 34                	jne    0x140015bdb
140015ba7:	0f b7 cb             	movzwl %bx,%ecx
140015baa:	83 f9 41             	cmp    $0x41,%ecx
140015bad:	72 05                	jb     0x140015bb4
140015baf:	83 f9 5a             	cmp    $0x5a,%ecx
140015bb2:	76 0b                	jbe    0x140015bbf
140015bb4:	41 3b cb             	cmp    %r11d,%ecx
140015bb7:	72 1f                	jb     0x140015bd8
140015bb9:	66 83 fb 7a          	cmp    $0x7a,%bx
140015bbd:	77 19                	ja     0x140015bd8
140015bbf:	0f b7 c3             	movzwl %bx,%eax
140015bc2:	66 41 2b c3          	sub    %r11w,%ax
140015bc6:	66 3b 84 24 88 00 00 	cmp    0x88(%rsp),%ax
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