140022da9:	5f                   	pop    %rdi
140022daa:	c3                   	ret
140022dab:	cc                   	int3
140022dac:	84 c9                	test   %cl,%cl
140022dae:	74 38                	je     0x140022de8
140022db0:	53                   	push   %rbx
140022db1:	48 83 ec 20          	sub    $0x20,%rsp
140022db5:	8b 42 14             	mov    0x14(%rdx),%eax
140022db8:	48 8b da             	mov    %rdx,%rbx
140022dbb:	c1 e8 09             	shr    $0x9,%eax
140022dbe:	90                   	nop
140022dbf:	a8 01                	test   $0x1,%al
140022dc1:	74 20                	je     0x140022de3
140022dc3:	49 8b d0             	mov    %r8,%rdx
140022dc6:	48 8b cb             	mov    %rbx,%rcx
140022dc9:	e8 e6 28 00 00       	call   0x1400256b4
140022dce:	f0 81 63 14 7f fd ff 	lock andl $0xfffffd7f,0x14(%rbx)
140022dd5:	ff
140022dd6:	83 63 20 00          	andl   $0x0,0x20(%rbx)
140022dda:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140022ddf:	48 83 23 00          	andq   $0x0,(%rbx)
140022de3:	48 83 c4 20          	add    $0x20,%rsp
140022de7:	5b                   	pop    %rbx
140022de8:	c3                   	ret
140022de9:	cc                   	int3
140022dea:	cc                   	int3
140022deb:	cc                   	int3
140022dec:	48 8b c4             	mov    %rsp,%rax
140022def:	48 89 58 08          	mov    %rbx,0x8(%rax)
140022df3:	48 89 68 10          	mov    %rbp,0x10(%rax)
140022df7:	48 89 70 18          	mov    %rsi,0x18(%rax)
140022dfb:	48 89 78 20          	mov    %rdi,0x20(%rax)
140022dff:	41 56                	push   %r14
140022e01:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140022e08:	48 8d 48 88          	lea    -0x78(%rax),%rcx
140022e0c:	ff 15 4e 95 01 00    	call   *0x1954e(%rip)        # 0x14003c360
140022e12:	45 33 f6             	xor    %r14d,%r14d
140022e15:	66 44 39 74 24 62    	cmp    %r14w,0x62(%rsp)
140022e1b:	0f 84 9a 00 00 00    	je     0x140022ebb
140022e21:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140022e26:	48 85 c0             	test   %rax,%rax
140022e29:	0f 84 8c 00 00 00    	je     0x140022ebb
140022e2f:	48 63 18             	movslq (%rax),%rbx
140022e32:	48 8d 70 04          	lea    0x4(%rax),%rsi
140022e36:	bf 00 20 00 00       	mov    $0x2000,%edi
140022e3b:	48 03 de             	add    %rsi,%rbx
140022e3e:	39 38                	cmp    %edi,(%rax)
140022e40:	0f 4c 38             	cmovl  (%rax),%edi
140022e43:	8b cf                	mov    %edi,%ecx
140022e45:	e8 12 34 00 00       	call   0x14002625c
140022e4a:	3b 3d b0 f6 02 00    	cmp    0x2f6b0(%rip),%edi        # 0x140052500
140022e50:	0f 4f 3d a9 f6 02 00 	cmovg  0x2f6a9(%rip),%edi        # 0x140052500
140022e57:	85 ff                	test   %edi,%edi
140022e59:	74 60                	je     0x140022ebb
140022e5b:	41 8b ee             	mov    %r14d,%ebp
140022e5e:	48 83 3b ff          	cmpq   $0xffffffffffffffff,(%rbx)
140022e62:	74 47                	je     0x140022eab
140022e64:	48 83 3b fe          	cmpq   $0xfffffffffffffffe,(%rbx)
140022e68:	74 41                	je     0x140022eab
140022e6a:	f6 06 01             	testb  $0x1,(%rsi)
140022e6d:	74 3c                	je     0x140022eab
140022e6f:	f6 06 08             	testb  $0x8,(%rsi)
140022e72:	75 0d                	jne    0x140022e81
140022e74:	48 8b 0b             	mov    (%rbx),%rcx
140022e77:	ff 15 03 93 01 00    	call   *0x19303(%rip)        # 0x14003c180
140022e7d:	85 c0                	test   %eax,%eax
140022e7f:	74 2a                	je     0x140022eab
140022e81:	48 8b c5             	mov    %rbp,%rax
140022e84:	4c 8d 05 75 f2 02 00 	lea    0x2f275(%rip),%r8        # 0x140052100
140022e8b:	48 8b cd             	mov    %rbp,%rcx
140022e8e:	48 c1 f9 06          	sar    $0x6,%rcx
140022e92:	83 e0 3f             	and    $0x3f,%eax
140022e95:	49 8b 0c c8          	mov    (%r8,%rcx,8),%rcx
140022e99:	48 8d 14 c0          	lea    (%rax,%rax,8),%rdx
140022e9d:	48 8b 03             	mov    (%rbx),%rax
140022ea0:	48 89 44 d1 28       	mov    %rax,0x28(%rcx,%rdx,8)
140022ea5:	8a 06                	mov    (%rsi),%al
140022ea7:	88 44 d1 38          	mov    %al,0x38(%rcx,%rdx,8)
140022eab:	48 ff c5             	inc    %rbp
140022eae:	48 ff c6             	inc    %rsi
140022eb1:	48 83 c3 08          	add    $0x8,%rbx
140022eb5:	48 83 ef 01          	sub    $0x1,%rdi
140022eb9:	75 a3                	jne    0x140022e5e
140022ebb:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
140022ec2:	00
140022ec3:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140022ec7:	49 8b 6b 18          	mov    0x18(%r11),%rbp
140022ecb:	49 8b 73 20          	mov    0x20(%r11),%rsi
140022ecf:	49 8b 7b 28          	mov    0x28(%r11),%rdi
140022ed3:	49 8b e3             	mov    %r11,%rsp
140022ed6:	41 5e                	pop    %r14
140022ed8:	c3                   	ret
140022ed9:	cc                   	int3
140022eda:	cc                   	int3
140022edb:	cc                   	int3
140022edc:	48 8b c4             	mov    %rsp,%rax
140022edf:	48 89 58 08          	mov    %rbx,0x8(%rax)
140022ee3:	48 89 68 10          	mov    %rbp,0x10(%rax)
140022ee7:	48 89 70 18          	mov    %rsi,0x18(%rax)
140022eeb:	48 89 78 20          	mov    %rdi,0x20(%rax)
140022eef:	41 56                	push   %r14
140022ef1:	48 83 ec 20          	sub    $0x20,%rsp
140022ef5:	33 f6                	xor    %esi,%esi
140022ef7:	45 33 f6             	xor    %r14d,%r14d
140022efa:	48 63 ce             	movslq %esi,%rcx
140022efd:	48 8d 3d fc f1 02 00 	lea    0x2f1fc(%rip),%rdi        # 0x140052100
140022f04:	48 8b c1             	mov    %rcx,%rax
140022f07:	83 e1 3f             	and    $0x3f,%ecx
140022f0a:	48 c1 f8 06          	sar    $0x6,%rax
140022f0e:	48 8d 1c c9          	lea    (%rcx,%rcx,8),%rbx
140022f12:	48 8b 3c c7          	mov    (%rdi,%rax,8),%rdi
140022f16:	48 8b 44 df 28       	mov    0x28(%rdi,%rbx,8),%rax
140022f1b:	48 83 c0 02          	add    $0x2,%rax
140022f1f:	48 83 f8 01          	cmp    $0x1,%rax
140022f23:	76 0a                	jbe    0x140022f2f
140022f25:	80 4c df 38 80       	orb    $0x80,0x38(%rdi,%rbx,8)
140022f2a:	e9 8b 00 00 00       	jmp    0x140022fba
140022f2f:	c6 44 df 38 81       	movb   $0x81,0x38(%rdi,%rbx,8)
140022f34:	8b ce                	mov    %esi,%ecx
140022f36:	85 f6                	test   %esi,%esi
140022f38:	74 16                	je     0x140022f50
140022f3a:	83 e9 01             	sub    $0x1,%ecx
140022f3d:	74 0a                	je     0x140022f49
140022f3f:	83 f9 01             	cmp    $0x1,%ecx
140022f42:	b9 f4 ff ff ff       	mov    $0xfffffff4,%ecx
140022f47:	eb 0c                	jmp    0x140022f55
140022f49:	b9 f5 ff ff ff       	mov    $0xfffffff5,%ecx
140022f4e:	eb 05                	jmp    0x140022f55
140022f50:	b9 f6 ff ff ff       	mov    $0xfffffff6,%ecx
140022f55:	ff 15 1d 92 01 00    	call   *0x1921d(%rip)        # 0x14003c178
140022f5b:	48 8b e8             	mov    %rax,%rbp
140022f5e:	48 8d 48 01          	lea    0x1(%rax),%rcx
140022f62:	48 83 f9 01          	cmp    $0x1,%rcx
140022f66:	76 2d                	jbe    0x140022f95
140022f68:	48 8b c8             	mov    %rax,%rcx
140022f6b:	ff 15 0f 92 01 00    	call   *0x1920f(%rip)        # 0x14003c180
140022f71:	85 c0                	test   %eax,%eax
140022f73:	74 20                	je     0x140022f95
140022f75:	0f b6 c0             	movzbl %al,%eax
140022f78:	48 89 6c df 28       	mov    %rbp,0x28(%rdi,%rbx,8)
140022f7d:	83 f8 02             	cmp    $0x2,%eax
140022f80:	75 07                	jne    0x140022f89
140022f82:	80 4c df 38 40       	orb    $0x40,0x38(%rdi,%rbx,8)
140022f87:	eb 31                	jmp    0x140022fba
140022f89:	83 f8 03             	cmp    $0x3,%eax
140022f8c:	75 2c                	jne    0x140022fba
140022f8e:	80 4c df 38 08       	orb    $0x8,0x38(%rdi,%rbx,8)
140022f93:	eb 25                	jmp    0x140022fba
140022f95:	80 4c df 38 40       	orb    $0x40,0x38(%rdi,%rbx,8)
140022f9a:	48 c7 44 df 28 fe ff 	movq   $0xfffffffffffffffe,0x28(%rdi,%rbx,8)
140022fa1:	ff ff
140022fa3:	48 8b 05 26 f1 02 00 	mov    0x2f126(%rip),%rax        # 0x1400520d0
140022faa:	48 85 c0             	test   %rax,%rax
140022fad:	74 0b                	je     0x140022fba
140022faf:	49 8b 04 06          	mov    (%r14,%rax,1),%rax
140022fb3:	c7 40 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%rax)
140022fba:	ff c6                	inc    %esi
140022fbc:	49 83 c6 08          	add    $0x8,%r14
140022fc0:	83 fe 03             	cmp    $0x3,%esi
140022fc3:	0f 85 31 ff ff ff    	jne    0x140022efa
140022fc9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140022fce:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140022fd3:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140022fd8:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140022fdd:	48 83 c4 20          	add    $0x20,%rsp
140022fe1:	41 5e                	pop    %r14
140022fe3:	c3                   	ret
140022fe4:	40 53                	rex push %rbx
140022fe6:	48 83 ec 20          	sub    $0x20,%rsp
140022fea:	b9 07 00 00 00       	mov    $0x7,%ecx
140022fef:	e8 34 68 00 00       	call   0x140029828
140022ff4:	33 db                	xor    %ebx,%ebx
140022ff6:	33 c9                	xor    %ecx,%ecx
140022ff8:	e8 5f 32 00 00       	call   0x14002625c
140022ffd:	85 c0                	test   %eax,%eax
140022fff:	75 0c                	jne    0x14002300d
140023001:	e8 e6 fd ff ff       	call   0x140022dec
140023006:	e8 d1 fe ff ff       	call   0x140022edc
14002300b:	b3 01                	mov    $0x1,%bl
14002300d:	b9 07 00 00 00       	mov    $0x7,%ecx
140023012:	e8 65 68 00 00       	call   0x14002987c
140023017:	8a c3                	mov    %bl,%al
140023019:	48 83 c4 20          	add    $0x20,%rsp
14002301d:	5b                   	pop    %rbx
14002301e:	c3                   	ret
14002301f:	cc                   	int3
140023020:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140023025:	57                   	push   %rdi
140023026:	48 83 ec 20          	sub    $0x20,%rsp
14002302a:	33 db                	xor    %ebx,%ebx
14002302c:	48 8d 3d cd f0 02 00 	lea    0x2f0cd(%rip),%rdi        # 0x140052100
140023033:	48 8b 0c 3b          	mov    (%rbx,%rdi,1),%rcx
140023037:	48 85 c9             	test   %rcx,%rcx
14002303a:	74 0a                	je     0x140023046
14002303c:	e8 cb 31 00 00       	call   0x14002620c
140023041:	48 83 24 3b 00       	andq   $0x0,(%rbx,%rdi,1)
140023046:	48 83 c3 08          	add    $0x8,%rbx
14002304a:	48 81 fb 00 04 00 00 	cmp    $0x400,%rbx
140023051:	72 d9                	jb     0x14002302c
140023053:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140023058:	b0 01                	mov    $0x1,%al
14002305a:	48 83 c4 20          	add    $0x20,%rsp
14002305e:	5f                   	pop    %rdi
14002305f:	c3                   	ret
140023060:	48 83 ec 28          	sub    $0x28,%rsp
140023064:	e8 3f dc ff ff       	call   0x140020ca8
140023069:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14002306e:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
140023075:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
14002307a:	48 8b c8             	mov    %rax,%rcx
14002307d:	e8 a2 e3 ff ff       	call   0x140021424
140023082:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140023087:	48 8b 00             	mov    (%rax),%rax
14002308a:	48 83 c4 28          	add    $0x28,%rsp
14002308e:	c3                   	ret
14002308f:	cc                   	int3
140023090:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140023095:	57                   	push   %rdi
140023096:	48 83 ec 20          	sub    $0x20,%rsp
14002309a:	b8 ff ff 00 00       	mov    $0xffff,%eax
14002309f:	0f b7 da             	movzwl %dx,%ebx
1400230a2:	66 3b c8             	cmp    %ax,%cx
1400230a5:	74 48                	je     0x1400230ef
1400230a7:	b8 00 01 00 00       	mov    $0x100,%eax
1400230ac:	66 3b c8             	cmp    %ax,%cx
1400230af:	73 12                	jae    0x1400230c3
1400230b1:	48 8b 05 98 b4 02 00 	mov    0x2b498(%rip),%rax        # 0x14004e550
1400230b8:	0f b7 c9             	movzwl %cx,%ecx
1400230bb:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
1400230bf:	23 c3                	and    %ebx,%eax
1400230c1:	eb 2e                	jmp    0x1400230f1
1400230c3:	33 ff                	xor    %edi,%edi
1400230c5:	66 89 4c 24 40       	mov    %cx,0x40(%rsp)
1400230ca:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
1400230cf:	66 89 7c 24 30       	mov    %di,0x30(%rsp)
1400230d4:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1400230d9:	8d 4f 01             	lea    0x1(%rdi),%ecx
1400230dc:	44 8b c1             	mov    %ecx,%r8d
1400230df:	e8 30 b9 00 00       	call   0x14002ea14
1400230e4:	85 c0                	test   %eax,%eax
1400230e6:	74 07                	je     0x1400230ef
1400230e8:	0f b7 44 24 30       	movzwl 0x30(%rsp),%eax
1400230ed:	eb d0                	jmp    0x1400230bf
1400230ef:	33 c0                	xor    %eax,%eax
1400230f1:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400230f6:	48 83 c4 20          	add    $0x20,%rsp
1400230fa:	5f                   	pop    %rdi
1400230fb:	c3                   	ret
1400230fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140023101:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140023106:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14002310b:	55                   	push   %rbp
14002310c:	48 8b ec             	mov    %rsp,%rbp
14002310f:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
140023116:	48 8b 05 a3 b0 02 00 	mov    0x2b0a3(%rip),%rax        # 0x14004e1c0
14002311d:	48 33 c4             	xor    %rsp,%rax
140023120:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140023124:	8b f2                	mov    %edx,%esi
140023126:	48 63 f9             	movslq %ecx,%rdi
140023129:	49 8b d0             	mov    %r8,%rdx
14002312c:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
140023130:	e8 a7 34 ff ff       	call   0x1400165dc
140023135:	8d 47 01             	lea    0x1(%rdi),%eax
140023138:	33 db                	xor    %ebx,%ebx
14002313a:	3d 00 01 00 00       	cmp    $0x100,%eax
14002313f:	77 0d                	ja     0x14002314e
140023141:	48 8b 45 d0          	mov    -0x30(%rbp),%rax
140023145:	48 8b 08             	mov    (%rax),%rcx
140023148:	0f b7 04 79          	movzwl (%rcx,%rdi,2),%eax
14002314c:	eb 7f                	jmp    0x1400231cd
14002314e:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140023152:	8b c7                	mov    %edi,%eax
140023154:	c1 f8 08             	sar    $0x8,%eax
140023157:	41 ba 01 00 00 00    	mov    $0x1,%r10d
14002315d:	0f b6 c8             	movzbl %al,%ecx
140023160:	48 8b 02             	mov    (%rdx),%rax
140023163:	66 39 1c 48          	cmp    %bx,(%rax,%rcx,2)
140023167:	7d 10                	jge    0x140023179
140023169:	88 4d c0             	mov    %cl,-0x40(%rbp)
14002316c:	45 8d 4a 01          	lea    0x1(%r10),%r9d
140023170:	40 88 7d c1          	mov    %dil,-0x3f(%rbp)
140023174:	88 5d c2             	mov    %bl,-0x3e(%rbp)
140023177:	eb 0a                	jmp    0x140023183
140023179:	40 88 7d c0          	mov    %dil,-0x40(%rbp)
14002317d:	45 8b ca             	mov    %r10d,%r9d
140023180:	88 5d c1             	mov    %bl,-0x3f(%rbp)
140023183:	33 c0                	xor    %eax,%eax
140023185:	44 89 54 24 30       	mov    %r10d,0x30(%rsp)
14002318a:	89 45 e8             	mov    %eax,-0x18(%rbp)
14002318d:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
140023191:	66 89 45 ec          	mov    %ax,-0x14(%rbp)
140023195:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
140023199:	8b 42 0c             	mov    0xc(%rdx),%eax
14002319c:	41 8b d2             	mov    %r10d,%edx
14002319f:	89 44 24 28          	mov    %eax,0x28(%rsp)
1400231a3:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
1400231a7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400231ac:	e8 27 7e 00 00       	call   0x14002afd8
1400231b1:	85 c0                	test   %eax,%eax
1400231b3:	75 14                	jne    0x1400231c9
1400231b5:	38 5d e0             	cmp    %bl,-0x20(%rbp)
1400231b8:	74 0b                	je     0x1400231c5
1400231ba:	48 8b 45 c8          	mov    -0x38(%rbp),%rax
1400231be:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
1400231c5:	33 c0                	xor    %eax,%eax
1400231c7:	eb 16                	jmp    0x1400231df
1400231c9:	0f b7 45 e8          	movzwl -0x18(%rbp),%eax
1400231cd:	23 c6                	and    %esi,%eax
1400231cf:	38 5d e0             	cmp    %bl,-0x20(%rbp)
1400231d2:	74 0b                	je     0x1400231df
1400231d4:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
1400231d8:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
1400231df:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1400231e3:	48 33 cc             	xor    %rsp,%rcx
1400231e6:	e8 b5 61 fe ff       	call   0x1400093a0
1400231eb:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
1400231f2:	00
1400231f3:	49 8b 5b 10          	mov    0x10(%r11),%rbx
1400231f7:	49 8b 73 18          	mov    0x18(%r11),%rsi
1400231fb:	49 8b 7b 20          	mov    0x20(%r11),%rdi
1400231ff:	49 8b e3             	mov    %r11,%rsp
140023202:	5d                   	pop    %rbp
140023203:	c3                   	ret
140023204:	48 8b 15 b5 af 02 00 	mov    0x2afb5(%rip),%rdx        # 0x14004e1c0
14002320b:	4c 8b c9             	mov    %rcx,%r9
14002320e:	48 8b 05 a3 f4 02 00 	mov    0x2f4a3(%rip),%rax        # 0x1400526b8
140023215:	8b ca                	mov    %edx,%ecx
140023217:	83 e1 3f             	and    $0x3f,%ecx
14002321a:	48 33 c2             	xor    %rdx,%rax
14002321d:	48 d3 c8             	ror    %cl,%rax
140023220:	49 ba 70 73 59 32 0b 	movabs $0xc9e89f0b32597370,%r10
140023227:	9f e8 c9
14002322a:	45 33 c0             	xor    %r8d,%r8d
14002322d:	33 d2                	xor    %edx,%edx
14002322f:	49 8b c9             	mov    %r9,%rcx
140023232:	48 ff 25 ff 92 01 00 	rex.W jmp *0x192ff(%rip)        # 0x14003c538
140023239:	cc                   	int3
14002323a:	cc                   	int3
14002323b:	cc                   	int3
14002323c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140023241:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140023246:	57                   	push   %rdi
140023247:	48 83 ec 20          	sub    $0x20,%rsp
14002324b:	49 8b d9             	mov    %r9,%rbx
14002324e:	49 8b f8             	mov    %r8,%rdi
140023251:	8b 0a                	mov    (%rdx),%ecx
140023253:	e8 d0 65 00 00       	call   0x140029828
140023258:	90                   	nop
140023259:	48 8b 07             	mov    (%rdi),%rax
14002325c:	4c 8b 00             	mov    (%rax),%r8