18012baee:	3b ca                	cmp    %edx,%ecx
18012baf0:	0f 44 c2             	cmove  %edx,%eax
18012baf3:	48 63 c8             	movslq %eax,%rcx
18012baf6:	48 8b 05 43 06 04 00 	mov    0x40643(%rip),%rax        # 0x18016c140
18012bafd:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
18012bb01:	83 e0 04             	and    $0x4,%eax
18012bb04:	c3                   	ret
18012bb05:	cc                   	int3
18012bb06:	cc                   	int3
18012bb07:	cc                   	int3
18012bb08:	0f b6 c1             	movzbl %cl,%eax
18012bb0b:	83 ca ff             	or     $0xffffffff,%edx
18012bb0e:	3b ca                	cmp    %edx,%ecx
18012bb10:	0f 44 c2             	cmove  %edx,%eax
18012bb13:	48 63 c8             	movslq %eax,%rcx
18012bb16:	48 8b 05 23 06 04 00 	mov    0x40623(%rip),%rax        # 0x18016c140
18012bb1d:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
18012bb21:	83 e0 08             	and    $0x8,%eax
18012bb24:	c3                   	ret
18012bb25:	cc                   	int3
18012bb26:	cc                   	int3
18012bb27:	cc                   	int3
18012bb28:	48 8b c4             	mov    %rsp,%rax
18012bb2b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18012bb2f:	48 89 68 10          	mov    %rbp,0x10(%rax)
18012bb33:	48 89 70 18          	mov    %rsi,0x18(%rax)
18012bb37:	48 89 78 20          	mov    %rdi,0x20(%rax)
18012bb3b:	41 55                	push   %r13
18012bb3d:	41 56                	push   %r14
18012bb3f:	41 57                	push   %r15
18012bb41:	48 83 ec 30          	sub    $0x30,%rsp
18012bb45:	49 8d 78 ff          	lea    -0x1(%r8),%rdi
18012bb49:	45 33 f6             	xor    %r14d,%r14d
18012bb4c:	49 0f af f9          	imul   %r9,%rdi
18012bb50:	49 8b e9             	mov    %r9,%rbp
18012bb53:	49 8b f0             	mov    %r8,%rsi
18012bb56:	48 03 fa             	add    %rdx,%rdi
18012bb59:	48 8b da             	mov    %rdx,%rbx
18012bb5c:	4c 8b e9             	mov    %rcx,%r13
18012bb5f:	48 85 d2             	test   %rdx,%rdx
18012bb62:	75 09                	jne    0x18012bb6d
18012bb64:	4d 85 c0             	test   %r8,%r8
18012bb67:	0f 85 99 00 00 00    	jne    0x18012bc06
18012bb6d:	48 85 ed             	test   %rbp,%rbp
18012bb70:	0f 84 90 00 00 00    	je     0x18012bc06
18012bb76:	4c 39 74 24 70       	cmp    %r14,0x70(%rsp)
18012bb7b:	0f 84 85 00 00 00    	je     0x18012bc06
18012bb81:	48 3b d7             	cmp    %rdi,%rdx
18012bb84:	0f 87 90 00 00 00    	ja     0x18012bc1a
18012bb8a:	4c 8b fe             	mov    %rsi,%r15
18012bb8d:	49 d1 ef             	shr    $1,%r15
18012bb90:	74 4c                	je     0x18012bbde
18012bb92:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
18012bb97:	40 f6 c6 01          	test   $0x1,%sil
18012bb9b:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
18012bba0:	49 8d 77 ff          	lea    -0x1(%r15),%rsi
18012bba4:	49 0f 45 f7          	cmovne %r15,%rsi
18012bba8:	49 8b d5             	mov    %r13,%rdx
18012bbab:	4c 8b f6             	mov    %rsi,%r14
18012bbae:	4c 0f af f5          	imul   %rbp,%r14
18012bbb2:	4c 03 f3             	add    %rbx,%r14
18012bbb5:	4d 8b c6             	mov    %r14,%r8
18012bbb8:	ff d0                	call   *%rax
18012bbba:	0f 1f 00             	nopl   (%rax)
18012bbbd:	85 c0                	test   %eax,%eax
18012bbbf:	74 18                	je     0x18012bbd9
18012bbc1:	79 08                	jns    0x18012bbcb
18012bbc3:	49 8b fe             	mov    %r14,%rdi
18012bbc6:	48 2b fd             	sub    %rbp,%rdi
18012bbc9:	eb 07                	jmp    0x18012bbd2
18012bbcb:	49 8d 1c 2e          	lea    (%r14,%rbp,1),%rbx
18012bbcf:	49 8b f7             	mov    %r15,%rsi
18012bbd2:	48 3b df             	cmp    %rdi,%rbx
18012bbd5:	76 b3                	jbe    0x18012bb8a
18012bbd7:	eb 41                	jmp    0x18012bc1a
18012bbd9:	49 8b c6             	mov    %r14,%rax
18012bbdc:	eb 3e                	jmp    0x18012bc1c
18012bbde:	45 33 f6             	xor    %r14d,%r14d
18012bbe1:	48 85 f6             	test   %rsi,%rsi
18012bbe4:	74 34                	je     0x18012bc1a
18012bbe6:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
18012bbeb:	4c 8b c3             	mov    %rbx,%r8
18012bbee:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
18012bbf3:	49 8b d5             	mov    %r13,%rdx
18012bbf6:	ff d0                	call   *%rax
18012bbf8:	0f 1f 00             	nopl   (%rax)
18012bbfb:	85 c0                	test   %eax,%eax
18012bbfd:	49 0f 45 de          	cmovne %r14,%rbx
18012bc01:	48 8b c3             	mov    %rbx,%rax
18012bc04:	eb 16                	jmp    0x18012bc1c
18012bc06:	45 33 c9             	xor    %r9d,%r9d
18012bc09:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
18012bc0e:	45 33 c0             	xor    %r8d,%r8d
18012bc11:	33 d2                	xor    %edx,%edx
18012bc13:	33 c9                	xor    %ecx,%ecx
18012bc15:	e8 12 9f ee ff       	call   0x180015b2c
18012bc1a:	33 c0                	xor    %eax,%eax
18012bc1c:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18012bc21:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18012bc26:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18012bc2b:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
18012bc30:	48 83 c4 30          	add    $0x30,%rsp
18012bc34:	41 5f                	pop    %r15
18012bc36:	41 5e                	pop    %r14
18012bc38:	41 5d                	pop    %r13
18012bc3a:	c3                   	ret
18012bc3b:	cc                   	int3
18012bc3c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18012bc41:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
18012bc46:	55                   	push   %rbp
18012bc47:	56                   	push   %rsi
18012bc48:	57                   	push   %rdi
18012bc49:	41 54                	push   %r12
18012bc4b:	41 55                	push   %r13
18012bc4d:	41 56                	push   %r14
18012bc4f:	41 57                	push   %r15
18012bc51:	48 83 ec 30          	sub    $0x30,%rsp
18012bc55:	45 8b f1             	mov    %r9d,%r14d
18012bc58:	4d 8b f8             	mov    %r8,%r15
18012bc5b:	4d 85 c0             	test   %r8,%r8
18012bc5e:	74 03                	je     0x18012bc63
18012bc60:	49 89 10             	mov    %rdx,(%r8)
18012bc63:	48 85 d2             	test   %rdx,%rdx
18012bc66:	0f 84 b4 01 00 00    	je     0x18012be20
18012bc6c:	45 85 f6             	test   %r14d,%r14d
18012bc6f:	74 0d                	je     0x18012bc7e
18012bc71:	41 8d 41 fe          	lea    -0x2(%r9),%eax
18012bc75:	83 f8 22             	cmp    $0x22,%eax
18012bc78:	0f 87 a2 01 00 00    	ja     0x18012be20
18012bc7e:	0f b7 2a             	movzwl (%rdx),%ebp
18012bc81:	48 8d 5a 02          	lea    0x2(%rdx),%rbx
18012bc85:	33 ff                	xor    %edi,%edi
18012bc87:	8d 77 08             	lea    0x8(%rdi),%esi
18012bc8a:	eb 07                	jmp    0x18012bc93
18012bc8c:	0f b7 2b             	movzwl (%rbx),%ebp
18012bc8f:	48 83 c3 02          	add    $0x2,%rbx
18012bc93:	45 33 c0             	xor    %r8d,%r8d
18012bc96:	8b d6                	mov    %esi,%edx
18012bc98:	0f b7 cd             	movzwl %bp,%ecx
18012bc9b:	e8 08 02 00 00       	call   0x18012bea8
18012bca0:	85 c0                	test   %eax,%eax
18012bca2:	75 e8                	jne    0x18012bc8c
18012bca4:	8b b4 24 90 00 00 00 	mov    0x90(%rsp),%esi
18012bcab:	66 83 fd 2d          	cmp    $0x2d,%bp
18012bcaf:	75 05                	jne    0x18012bcb6
18012bcb1:	83 ce 02             	or     $0x2,%esi
18012bcb4:	eb 06                	jmp    0x18012bcbc
18012bcb6:	66 83 fd 2b          	cmp    $0x2b,%bp
18012bcba:	75 07                	jne    0x18012bcc3
18012bcbc:	0f b7 2b             	movzwl (%rbx),%ebp
18012bcbf:	48 83 c3 02          	add    $0x2,%rbx
18012bcc3:	41 bd df ff 00 00    	mov    $0xffdf,%r13d
18012bcc9:	45 85 f6             	test   %r14d,%r14d
18012bccc:	75 2f                	jne    0x18012bcfd
18012bcce:	0f b7 cd             	movzwl %bp,%ecx
18012bcd1:	e8 0e 0d 00 00       	call   0x18012c9e4
18012bcd6:	85 c0                	test   %eax,%eax
18012bcd8:	74 08                	je     0x18012bce2
18012bcda:	41 be 0a 00 00 00    	mov    $0xa,%r14d
18012bce0:	eb 42                	jmp    0x18012bd24
18012bce2:	0f b7 03             	movzwl (%rbx),%eax
18012bce5:	66 83 e8 58          	sub    $0x58,%ax
18012bce9:	66 41 85 c5          	test   %ax,%r13w
18012bced:	74 08                	je     0x18012bcf7
18012bcef:	41 be 08 00 00 00    	mov    $0x8,%r14d
18012bcf5:	eb 2d                	jmp    0x18012bd24
18012bcf7:	41 be 10 00 00 00    	mov    $0x10,%r14d
18012bcfd:	41 83 fe 10          	cmp    $0x10,%r14d
18012bd01:	75 21                	jne    0x18012bd24
18012bd03:	0f b7 cd             	movzwl %bp,%ecx
18012bd06:	e8 d9 0c 00 00       	call   0x18012c9e4
18012bd0b:	85 c0                	test   %eax,%eax
18012bd0d:	75 15                	jne    0x18012bd24
18012bd0f:	0f b7 03             	movzwl (%rbx),%eax
18012bd12:	66 83 e8 58          	sub    $0x58,%ax
18012bd16:	66 41 85 c5          	test   %ax,%r13w
18012bd1a:	75 08                	jne    0x18012bd24
18012bd1c:	0f b7 6b 02          	movzwl 0x2(%rbx),%ebp
18012bd20:	48 83 c3 04          	add    $0x4,%rbx
18012bd24:	33 d2                	xor    %edx,%edx
18012bd26:	83 c8 ff             	or     $0xffffffff,%eax
18012bd29:	41 f7 f6             	div    %r14d
18012bd2c:	44 8b e8             	mov    %eax,%r13d
18012bd2f:	44 8b e2             	mov    %edx,%r12d
18012bd32:	0f b7 cd             	movzwl %bp,%ecx
18012bd35:	e8 aa 0c 00 00       	call   0x18012c9e4
18012bd3a:	83 ca ff             	or     $0xffffffff,%edx
18012bd3d:	8b c8                	mov    %eax,%ecx
18012bd3f:	3b c2                	cmp    %edx,%eax
18012bd41:	75 26                	jne    0x18012bd69
18012bd43:	8d 45 bf             	lea    -0x41(%rbp),%eax
18012bd46:	66 83 f8 19          	cmp    $0x19,%ax
18012bd4a:	76 09                	jbe    0x18012bd55
18012bd4c:	8d 45 9f             	lea    -0x61(%rbp),%eax
18012bd4f:	66 83 f8 19          	cmp    $0x19,%ax
18012bd53:	77 3a                	ja     0x18012bd8f
18012bd55:	0f b7 c5             	movzwl %bp,%eax
18012bd58:	66 83 ed 61          	sub    $0x61,%bp
18012bd5c:	66 83 fd 19          	cmp    $0x19,%bp
18012bd60:	8d 48 e0             	lea    -0x20(%rax),%ecx
18012bd63:	0f 47 c8             	cmova  %eax,%ecx
18012bd66:	83 e9 37             	sub    $0x37,%ecx
18012bd69:	41 3b ce             	cmp    %r14d,%ecx
18012bd6c:	73 21                	jae    0x18012bd8f
18012bd6e:	83 ce 08             	or     $0x8,%esi
18012bd71:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
18012bd78:	00
18012bd79:	75 2e                	jne    0x18012bda9
18012bd7b:	41 3b fd             	cmp    %r13d,%edi
18012bd7e:	72 29                	jb     0x18012bda9
18012bd80:	75 05                	jne    0x18012bd87
18012bd82:	41 3b cc             	cmp    %r12d,%ecx
18012bd85:	76 22                	jbe    0x18012bda9
18012bd87:	83 ce 04             	or     $0x4,%esi
18012bd8a:	4d 85 ff             	test   %r15,%r15
18012bd8d:	75 20                	jne    0x18012bdaf
18012bd8f:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
18012bd94:	48 83 eb 02          	sub    $0x2,%rbx
18012bd98:	40 f6 c6 08          	test   $0x8,%sil
18012bd9c:	75 1d                	jne    0x18012bdbb
18012bd9e:	4d 85 ff             	test   %r15,%r15
18012bda1:	49 0f 45 dc          	cmovne %r12,%rbx
18012bda5:	33 ff                	xor    %edi,%edi
18012bda7:	eb 62                	jmp    0x18012be0b
18012bda9:	41 0f af fe          	imul   %r14d,%edi
18012bdad:	03 f9                	add    %ecx,%edi
18012bdaf:	0f b7 2b             	movzwl (%rbx),%ebp
18012bdb2:	48 83 c3 02          	add    $0x2,%rbx
18012bdb6:	e9 77 ff ff ff       	jmp    0x18012bd32
18012bdbb:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
18012bdc0:	40 f6 c6 04          	test   $0x4,%sil
18012bdc4:	75 1a                	jne    0x18012bde0
18012bdc6:	40 f6 c6 01          	test   $0x1,%sil
18012bdca:	75 3f                	jne    0x18012be0b
18012bdcc:	40 f6 c6 02          	test   $0x2,%sil
18012bdd0:	74 0a                	je     0x18012bddc
18012bdd2:	81 ff 00 00 00 80    	cmp    $0x80000000,%edi
18012bdd8:	77 06                	ja     0x18012bde0
18012bdda:	eb 2f                	jmp    0x18012be0b
18012bddc:	3b f9                	cmp    %ecx,%edi
18012bdde:	76 2b                	jbe    0x18012be0b
18012bde0:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
18012bde7:	00
18012bde8:	75 21                	jne    0x18012be0b
18012bdea:	c7 05 4c 98 06 00 22 	movl   $0x22,0x6984c(%rip)        # 0x180195640
18012bdf1:	00 00 00
18012bdf4:	40 f6 c6 01          	test   $0x1,%sil
18012bdf8:	74 04                	je     0x18012bdfe
18012bdfa:	8b fa                	mov    %edx,%edi
18012bdfc:	eb 0d                	jmp    0x18012be0b
18012bdfe:	40 8a c6             	mov    %sil,%al
18012be01:	24 02                	and    $0x2,%al
18012be03:	f6 d8                	neg    %al
18012be05:	1b ff                	sbb    %edi,%edi
18012be07:	f7 df                	neg    %edi
18012be09:	03 f9                	add    %ecx,%edi
18012be0b:	4d 85 ff             	test   %r15,%r15
18012be0e:	74 03                	je     0x18012be13
18012be10:	49 89 1f             	mov    %rbx,(%r15)
18012be13:	8b c7                	mov    %edi,%eax
18012be15:	f7 d8                	neg    %eax
18012be17:	40 80 e6 02          	and    $0x2,%sil
18012be1b:	0f 44 c7             	cmove  %edi,%eax
18012be1e:	eb 17                	jmp    0x18012be37
18012be20:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18012be26:	45 33 c9             	xor    %r9d,%r9d
18012be29:	45 33 c0             	xor    %r8d,%r8d
18012be2c:	33 d2                	xor    %edx,%edx
18012be2e:	33 c9                	xor    %ecx,%ecx
18012be30:	e8 f7 9c ee ff       	call   0x180015b2c
18012be35:	33 c0                	xor    %eax,%eax
18012be37:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18012be3c:	48 83 c4 30          	add    $0x30,%rsp
18012be40:	41 5f                	pop    %r15
18012be42:	41 5e                	pop    %r14
18012be44:	41 5d                	pop    %r13
18012be46:	41 5c                	pop    %r12
18012be48:	5f                   	pop    %rdi
18012be49:	5e                   	pop    %rsi
18012be4a:	5d                   	pop    %rbp
18012be4b:	c3                   	ret
18012be4c:	cc                   	int3
18012be4d:	cc                   	int3
18012be4e:	cc                   	int3
18012be4f:	cc                   	int3
18012be50:	48 83 ec 38          	sub    $0x38,%rsp
18012be54:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18012be59:	45 8b c8             	mov    %r8d,%r9d
18012be5c:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18012be61:	4c 8b c2             	mov    %rdx,%r8
18012be64:	48 8b d1             	mov    %rcx,%rdx
18012be67:	48 8d 0d 92 62 01 00 	lea    0x16292(%rip),%rcx        # 0x180142100
18012be6e:	e8 c9 fd ff ff       	call   0x18012bc3c
18012be73:	48 83 c4 38          	add    $0x38,%rsp
18012be77:	c3                   	ret
18012be78:	cc                   	int3
18012be79:	cc                   	int3
18012be7a:	cc                   	int3
18012be7b:	cc                   	int3
18012be7c:	48 83 ec 38          	sub    $0x38,%rsp
18012be80:	44 89 4c 24 28       	mov    %r9d,0x28(%rsp)
18012be85:	45 8b c8             	mov    %r8d,%r9d
18012be88:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18012be8d:	4c 8b c2             	mov    %rdx,%r8
18012be90:	48 8b d1             	mov    %rcx,%rdx
18012be93:	48 8d 0d 66 62 01 00 	lea    0x16266(%rip),%rcx        # 0x180142100
18012be9a:	e8 9d fd ff ff       	call   0x18012bc3c
18012be9f:	48 83 c4 38          	add    $0x38,%rsp
18012bea3:	c3                   	ret
18012bea4:	cc                   	int3
18012bea5:	cc                   	int3
18012bea6:	cc                   	int3
18012bea7:	cc                   	int3
18012bea8:	b8 00 01 00 00       	mov    $0x100,%eax
18012bead:	66 3b c8             	cmp    %ax,%cx
18012beb0:	73 17                	jae    0x18012bec9
18012beb2:	48 8b 05 47 03 04 00 	mov    0x40347(%rip),%rax        # 0x18016c200
18012beb9:	0f b7 c9             	movzwl %cx,%ecx
18012bebc:	44 0f b7 04 48       	movzwl (%rax,%rcx,2),%r8d
18012bec1:	0f b7 c2             	movzwl %dx,%eax
18012bec4:	44 23 c0             	and    %eax,%r8d
18012bec7:	eb 03                	jmp    0x18012becc
18012bec9:	45 33 c0             	xor    %r8d,%r8d
18012becc:	41 8b c0             	mov    %r8d,%eax
18012becf:	c3                   	ret
18012bed0:	cc                   	int3
18012bed1:	cc                   	int3
18012bed2:	cc                   	int3
18012bed3:	cc                   	int3
18012bed4:	b8 00 01 00 00       	mov    $0x100,%eax
18012bed9:	66 3b c8             	cmp    %ax,%cx
18012bedc:	73 15                	jae    0x18012bef3
18012bede:	48 8b 05 1b 03 04 00 	mov    0x4031b(%rip),%rax        # 0x18016c200
18012bee5:	0f b7 c9             	movzwl %cx,%ecx
18012bee8:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
18012beec:	0f b7 ca             	movzwl %dx,%ecx
18012beef:	23 c1                	and    %ecx,%eax
18012bef1:	c3                   	ret
18012bef2:	cc                   	int3
18012bef3:	33 c0                	xor    %eax,%eax
18012bef5:	c3                   	ret
18012bef6:	cc                   	int3
18012bef7:	cc                   	int3
18012bef8:	48 83 ec 38          	sub    $0x38,%rsp
18012befc:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
18012bf01:	45 33 c9             	xor    %r9d,%r9d
18012bf04:	e8 07 00 00 00       	call   0x18012bf10
18012bf09:	48 83 c4 38          	add    $0x38,%rsp
18012bf0d:	c3                   	ret
18012bf0e:	cc                   	int3