140096eba:	41 8a c1             	mov    %r9b,%al
140096ebd:	24 f8                	and    $0xf8,%al
140096ebf:	3c f0                	cmp    $0xf0,%al
140096ec1:	0f 85 ef 00 00 00    	jne    0x140096fb6
140096ec7:	41 b0 04             	mov    $0x4,%r8b
140096eca:	41 0f b6 c0          	movzbl %r8b,%eax
140096ece:	b9 07 00 00 00       	mov    $0x7,%ecx
140096ed3:	2b c8                	sub    %eax,%ecx
140096ed5:	8b d5                	mov    %ebp,%edx
140096ed7:	d3 e2                	shl    %cl,%edx
140096ed9:	41 8a d8             	mov    %r8b,%bl
140096edc:	2b d5                	sub    %ebp,%edx
140096ede:	41 23 d1             	and    %r9d,%edx
140096ee1:	eb 29                	jmp    0x140096f0c
140096ee3:	45 8a 42 04          	mov    0x4(%r10),%r8b
140096ee7:	41 8b 12             	mov    (%r10),%edx
140096eea:	41 8a 5a 06          	mov    0x6(%r10),%bl
140096eee:	41 8d 40 fe          	lea    -0x2(%r8),%eax
140096ef2:	3c 02                	cmp    $0x2,%al
140096ef4:	0f 87 bc 00 00 00    	ja     0x140096fb6
140096efa:	40 3a dd             	cmp    %bpl,%bl
140096efd:	0f 82 b3 00 00 00    	jb     0x140096fb6
140096f03:	41 3a d8             	cmp    %r8b,%bl
140096f06:	0f 83 aa 00 00 00    	jae    0x140096fb6
140096f0c:	0f b6 eb             	movzbl %bl,%ebp
140096f0f:	49 3b ef             	cmp    %r15,%rbp
140096f12:	44 8b cd             	mov    %ebp,%r9d
140096f15:	4d 0f 43 cf          	cmovae %r15,%r9
140096f19:	eb 1e                	jmp    0x140096f39
140096f1b:	0f b6 0f             	movzbl (%rdi),%ecx
140096f1e:	48 ff c7             	inc    %rdi
140096f21:	8a c1                	mov    %cl,%al
140096f23:	24 c0                	and    $0xc0,%al
140096f25:	3c 80                	cmp    $0x80,%al
140096f27:	0f 85 89 00 00 00    	jne    0x140096fb6
140096f2d:	8b c2                	mov    %edx,%eax
140096f2f:	83 e1 3f             	and    $0x3f,%ecx
140096f32:	c1 e0 06             	shl    $0x6,%eax
140096f35:	8b d1                	mov    %ecx,%edx
140096f37:	0b d0                	or     %eax,%edx
140096f39:	48 8b c7             	mov    %rdi,%rax
140096f3c:	49 2b c4             	sub    %r12,%rax
140096f3f:	49 3b c1             	cmp    %r9,%rax
140096f42:	72 d7                	jb     0x140096f1b
140096f44:	4c 3b cd             	cmp    %rbp,%r9
140096f47:	73 1c                	jae    0x140096f65
140096f49:	41 0f b6 c0          	movzbl %r8b,%eax
140096f4d:	41 2a d9             	sub    %r9b,%bl
140096f50:	66 41 89 42 04       	mov    %ax,0x4(%r10)
140096f55:	0f b6 c3             	movzbl %bl,%eax
140096f58:	66 41 89 42 06       	mov    %ax,0x6(%r10)
140096f5d:	41 89 12             	mov    %edx,(%r10)
140096f60:	e9 03 ff ff ff       	jmp    0x140096e68
140096f65:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
140096f6b:	3d ff 07 00 00       	cmp    $0x7ff,%eax
140096f70:	76 44                	jbe    0x140096fb6
140096f72:	81 fa 00 00 11 00    	cmp    $0x110000,%edx
140096f78:	73 3c                	jae    0x140096fb6
140096f7a:	41 0f b6 c0          	movzbl %r8b,%eax
140096f7e:	c7 44 24 20 80 00 00 	movl   $0x80,0x20(%rsp)
140096f85:	00
140096f86:	c7 44 24 24 00 08 00 	movl   $0x800,0x24(%rsp)
140096f8d:	00
140096f8e:	c7 44 24 28 00 00 01 	movl   $0x10000,0x28(%rsp)
140096f95:	00
140096f96:	3b 54 84 18          	cmp    0x18(%rsp,%rax,4),%edx
140096f9a:	72 1a                	jb     0x140096fb6
140096f9c:	4d 85 f6             	test   %r14,%r14
140096f9f:	74 03                	je     0x140096fa4
140096fa1:	41 89 16             	mov    %edx,(%r14)
140096fa4:	f7 da                	neg    %edx
140096fa6:	49 8b d2             	mov    %r10,%rdx
140096fa9:	48 1b c9             	sbb    %rcx,%rcx
140096fac:	48 23 cd             	and    %rbp,%rcx
140096faf:	e8 4c 4d 00 00       	call   0x14009bd00
140096fb4:	eb 0b                	jmp    0x140096fc1
140096fb6:	48 8b d6             	mov    %rsi,%rdx
140096fb9:	49 8b ca             	mov    %r10,%rcx
140096fbc:	e8 2b 4d 00 00       	call   0x14009bcec
140096fc1:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140096fc6:	48 33 cc             	xor    %rsp,%rcx
140096fc9:	e8 02 83 fd ff       	call   0x14006f2d0
140096fce:	48 83 c4 40          	add    $0x40,%rsp
140096fd2:	41 5f                	pop    %r15
140096fd4:	41 5e                	pop    %r14
140096fd6:	41 5c                	pop    %r12
140096fd8:	5f                   	pop    %rdi
140096fd9:	5e                   	pop    %rsi
140096fda:	5d                   	pop    %rbp
140096fdb:	5b                   	pop    %rbx
140096fdc:	c3                   	ret
140096fdd:	cc                   	int3
140096fde:	cc                   	int3
140096fdf:	cc                   	int3
140096fe0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140096fe5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140096fea:	57                   	push   %rdi
140096feb:	48 83 ec 20          	sub    $0x20,%rsp
140096fef:	8b f1                	mov    %ecx,%esi
140096ff1:	49 8b f8             	mov    %r8,%rdi
140096ff4:	48 8b ca             	mov    %rdx,%rcx
140096ff7:	48 8b da             	mov    %rdx,%rbx
140096ffa:	e8 bd 75 fe ff       	call   0x14007e5bc
140096fff:	8b 43 14             	mov    0x14(%rbx),%eax
140097002:	90                   	nop
140097003:	a8 06                	test   $0x6,%al
140097005:	75 15                	jne    0x14009701c
140097007:	c7 47 2c 09 00 00 00 	movl   $0x9,0x2c(%rdi)
14009700e:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
140097012:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
140097017:	83 c8 ff             	or     $0xffffffff,%eax
14009701a:	eb 7f                	jmp    0x14009709b
14009701c:	8b 43 14             	mov    0x14(%rbx),%eax
14009701f:	90                   	nop
140097020:	c1 e8 0c             	shr    $0xc,%eax
140097023:	a8 01                	test   $0x1,%al
140097025:	74 09                	je     0x140097030
140097027:	c7 47 2c 22 00 00 00 	movl   $0x22,0x2c(%rdi)
14009702e:	eb de                	jmp    0x14009700e
140097030:	8b 43 14             	mov    0x14(%rbx),%eax
140097033:	90                   	nop
140097034:	a8 01                	test   $0x1,%al
140097036:	74 1c                	je     0x140097054
140097038:	48 8b cb             	mov    %rbx,%rcx
14009703b:	e8 38 01 00 00       	call   0x140097178
140097040:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140097044:	84 c0                	test   %al,%al
140097046:	74 ca                	je     0x140097012
140097048:	48 8b 43 08          	mov    0x8(%rbx),%rax
14009704c:	48 89 03             	mov    %rax,(%rbx)
14009704f:	f0 83 63 14 fe       	lock andl $0xfffffffe,0x14(%rbx)
140097054:	f0 83 4b 14 02       	lock orl $0x2,0x14(%rbx)
140097059:	f0 83 63 14 f7       	lock andl $0xfffffff7,0x14(%rbx)
14009705e:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140097062:	8b 43 14             	mov    0x14(%rbx),%eax
140097065:	90                   	nop
140097066:	a9 c0 04 00 00       	test   $0x4c0,%eax
14009706b:	75 14                	jne    0x140097081
14009706d:	48 8b cb             	mov    %rbx,%rcx
140097070:	e8 23 7c ff ff       	call   0x14008ec98
140097075:	84 c0                	test   %al,%al
140097077:	75 08                	jne    0x140097081
140097079:	48 8b cb             	mov    %rbx,%rcx
14009707c:	e8 b7 1c 00 00       	call   0x140098d38
140097081:	4c 8b c7             	mov    %rdi,%r8
140097084:	48 8b d3             	mov    %rbx,%rdx
140097087:	40 8a ce             	mov    %sil,%cl
14009708a:	e8 65 01 00 00       	call   0x1400971f4
14009708f:	84 c0                	test   %al,%al
140097091:	0f 84 7b ff ff ff    	je     0x140097012
140097097:	40 0f b6 c6          	movzbl %sil,%eax
14009709b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400970a0:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400970a5:	48 83 c4 20          	add    $0x20,%rsp
1400970a9:	5f                   	pop    %rdi
1400970aa:	c3                   	ret
1400970ab:	cc                   	int3
1400970ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400970b1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400970b6:	57                   	push   %rdi
1400970b7:	48 83 ec 20          	sub    $0x20,%rsp
1400970bb:	8b f1                	mov    %ecx,%esi
1400970bd:	49 8b f8             	mov    %r8,%rdi
1400970c0:	48 8b ca             	mov    %rdx,%rcx
1400970c3:	48 8b da             	mov    %rdx,%rbx
1400970c6:	e8 f1 74 fe ff       	call   0x14007e5bc
1400970cb:	8b 43 14             	mov    0x14(%rbx),%eax
1400970ce:	90                   	nop
1400970cf:	a8 06                	test   $0x6,%al
1400970d1:	75 17                	jne    0x1400970ea
1400970d3:	c7 47 2c 09 00 00 00 	movl   $0x9,0x2c(%rdi)
1400970da:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
1400970de:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
1400970e3:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400970e8:	eb 7e                	jmp    0x140097168
1400970ea:	8b 43 14             	mov    0x14(%rbx),%eax
1400970ed:	90                   	nop
1400970ee:	c1 e8 0c             	shr    $0xc,%eax
1400970f1:	a8 01                	test   $0x1,%al
1400970f3:	74 09                	je     0x1400970fe
1400970f5:	c7 47 2c 22 00 00 00 	movl   $0x22,0x2c(%rdi)
1400970fc:	eb dc                	jmp    0x1400970da
1400970fe:	8b 43 14             	mov    0x14(%rbx),%eax
140097101:	90                   	nop
140097102:	a8 01                	test   $0x1,%al
140097104:	74 1c                	je     0x140097122
140097106:	48 8b cb             	mov    %rbx,%rcx
140097109:	e8 6a 00 00 00       	call   0x140097178
14009710e:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140097112:	84 c0                	test   %al,%al
140097114:	74 c8                	je     0x1400970de
140097116:	48 8b 43 08          	mov    0x8(%rbx),%rax
14009711a:	48 89 03             	mov    %rax,(%rbx)
14009711d:	f0 83 63 14 fe       	lock andl $0xfffffffe,0x14(%rbx)
140097122:	f0 83 4b 14 02       	lock orl $0x2,0x14(%rbx)
140097127:	f0 83 63 14 f7       	lock andl $0xfffffff7,0x14(%rbx)
14009712c:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140097130:	8b 43 14             	mov    0x14(%rbx),%eax
140097133:	90                   	nop
140097134:	a9 c0 04 00 00       	test   $0x4c0,%eax
140097139:	75 14                	jne    0x14009714f
14009713b:	48 8b cb             	mov    %rbx,%rcx
14009713e:	e8 55 7b ff ff       	call   0x14008ec98
140097143:	84 c0                	test   %al,%al
140097145:	75 08                	jne    0x14009714f
140097147:	48 8b cb             	mov    %rbx,%rcx
14009714a:	e8 e9 1b 00 00       	call   0x140098d38
14009714f:	4c 8b c7             	mov    %rdi,%r8
140097152:	48 8b d3             	mov    %rbx,%rdx
140097155:	0f b7 ce             	movzwl %si,%ecx
140097158:	e8 8f 01 00 00       	call   0x1400972ec
14009715d:	84 c0                	test   %al,%al
14009715f:	0f 84 79 ff ff ff    	je     0x1400970de
140097165:	0f b7 c6             	movzwl %si,%eax
140097168:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14009716d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140097172:	48 83 c4 20          	add    $0x20,%rsp
140097176:	5f                   	pop    %rdi
140097177:	c3                   	ret
140097178:	40 53                	rex push %rbx
14009717a:	48 83 ec 20          	sub    $0x20,%rsp
14009717e:	8b 51 14             	mov    0x14(%rcx),%edx
140097181:	90                   	nop
140097182:	c1 ea 03             	shr    $0x3,%edx
140097185:	f6 c2 01             	test   $0x1,%dl
140097188:	74 04                	je     0x14009718e
14009718a:	b0 01                	mov    $0x1,%al
14009718c:	eb 60                	jmp    0x1400971ee
14009718e:	8b 41 14             	mov    0x14(%rcx),%eax
140097191:	90                   	nop
140097192:	a8 c0                	test   $0xc0,%al
140097194:	74 09                	je     0x14009719f
140097196:	48 8b 41 08          	mov    0x8(%rcx),%rax
14009719a:	48 39 01             	cmp    %rax,(%rcx)
14009719d:	74 4d                	je     0x1400971ec
14009719f:	8b 49 18             	mov    0x18(%rcx),%ecx
1400971a2:	90                   	nop
1400971a3:	e8 74 74 fe ff       	call   0x14007e61c
1400971a8:	48 8b d8             	mov    %rax,%rbx
1400971ab:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400971af:	74 3b                	je     0x1400971ec
1400971b1:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400971b7:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
1400971bc:	33 d2                	xor    %edx,%edx
1400971be:	48 8b c8             	mov    %rax,%rcx
1400971c1:	ff 15 d1 06 06 00    	call   *0x606d1(%rip)        # 0x1400f7898
1400971c7:	85 c0                	test   %eax,%eax
1400971c9:	74 21                	je     0x1400971ec
1400971cb:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1400971d0:	48 8b cb             	mov    %rbx,%rcx
1400971d3:	ff 15 af 04 06 00    	call   *0x604af(%rip)        # 0x1400f7688
1400971d9:	85 c0                	test   %eax,%eax
1400971db:	74 0f                	je     0x1400971ec
1400971dd:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1400971e2:	48 39 44 24 38       	cmp    %rax,0x38(%rsp)
1400971e7:	0f 94 c0             	sete   %al
1400971ea:	eb 02                	jmp    0x1400971ee
1400971ec:	32 c0                	xor    %al,%al
1400971ee:	48 83 c4 20          	add    $0x20,%rsp
1400971f2:	5b                   	pop    %rbx
1400971f3:	c3                   	ret
1400971f4:	48 8b c4             	mov    %rsp,%rax
1400971f7:	48 89 58 10          	mov    %rbx,0x10(%rax)
1400971fb:	48 89 68 18          	mov    %rbp,0x18(%rax)
1400971ff:	48 89 70 20          	mov    %rsi,0x20(%rax)
140097203:	88 48 08             	mov    %cl,0x8(%rax)
140097206:	57                   	push   %rdi
140097207:	48 83 ec 20          	sub    $0x20,%rsp
14009720b:	48 8b ca             	mov    %rdx,%rcx
14009720e:	49 8b f0             	mov    %r8,%rsi
140097211:	48 8b da             	mov    %rdx,%rbx
140097214:	e8 a3 73 fe ff       	call   0x14007e5bc
140097219:	8b 4b 14             	mov    0x14(%rbx),%ecx
14009721c:	90                   	nop
14009721d:	4c 63 d0             	movslq %eax,%r10
140097220:	f6 c1 c0             	test   $0xc0,%cl
140097223:	0f 84 91 00 00 00    	je     0x1400972ba
140097229:	8b 3b                	mov    (%rbx),%edi
14009722b:	33 ed                	xor    %ebp,%ebp
14009722d:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140097231:	2b 7b 08             	sub    0x8(%rbx),%edi
140097234:	48 8d 42 01          	lea    0x1(%rdx),%rax
140097238:	48 89 03             	mov    %rax,(%rbx)
14009723b:	8b 43 20             	mov    0x20(%rbx),%eax
14009723e:	ff c8                	dec    %eax
140097240:	89 43 10             	mov    %eax,0x10(%rbx)
140097243:	85 ff                	test   %edi,%edi
140097245:	7e 1e                	jle    0x140097265
140097247:	4c 8b ce             	mov    %rsi,%r9
14009724a:	44 8b c7             	mov    %edi,%r8d
14009724d:	41 8b ca             	mov    %r10d,%ecx
140097250:	e8 43 c7 fe ff       	call   0x140083998
140097255:	8b e8                	mov    %eax,%ebp
140097257:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14009725b:	3b ef                	cmp    %edi,%ebp
14009725d:	8a 44 24 30          	mov    0x30(%rsp),%al
140097261:	88 01                	mov    %al,(%rcx)
140097263:	eb 6e                	jmp    0x1400972d3
140097265:	41 8d 42 02          	lea    0x2(%r10),%eax
140097269:	83 f8 01             	cmp    $0x1,%eax
14009726c:	76 22                	jbe    0x140097290
14009726e:	49 8b ca             	mov    %r10,%rcx
140097271:	48 8d 15 28 93 07 00 	lea    0x79328(%rip),%rdx        # 0x1401105a0
140097278:	49 8b c2             	mov    %r10,%rax
14009727b:	48 c1 f8 06          	sar    $0x6,%rax
14009727f:	83 e1 3f             	and    $0x3f,%ecx
140097282:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
140097286:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
14009728a:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
14009728e:	eb 07                	jmp    0x140097297
140097290:	48 8d 15 b9 a2 06 00 	lea    0x6a2b9(%rip),%rdx        # 0x140101550
140097297:	f6 42 38 20          	testb  $0x20,0x38(%rdx)
14009729b:	74 ba                	je     0x140097257
14009729d:	33 d2                	xor    %edx,%edx
14009729f:	41 8b ca             	mov    %r10d,%ecx
1400972a2:	44 8d 42 02          	lea    0x2(%rdx),%r8d
1400972a6:	e8 ad 8d ff ff       	call   0x140090058
1400972ab:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400972af:	75 a6                	jne    0x140097257
1400972b1:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
1400972b6:	b0 01                	mov    $0x1,%al
1400972b8:	eb 1c                	jmp    0x1400972d6
1400972ba:	4c 8b ce             	mov    %rsi,%r9
1400972bd:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1400972c2:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400972c8:	41 8b ca             	mov    %r10d,%ecx
1400972cb:	e8 c8 c6 fe ff       	call   0x140083998
1400972d0:	83 f8 01             	cmp    $0x1,%eax
1400972d3:	0f 94 c0             	sete   %al
1400972d6:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400972db:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1400972e0:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400972e5:	48 83 c4 20          	add    $0x20,%rsp
1400972e9:	5f                   	pop    %rdi
1400972ea:	c3                   	ret
1400972eb:	cc                   	int3
1400972ec:	48 8b c4             	mov    %rsp,%rax
1400972ef:	48 89 58 10          	mov    %rbx,0x10(%rax)
1400972f3:	48 89 68 18          	mov    %rbp,0x18(%rax)
1400972f7:	48 89 70 20          	mov    %rsi,0x20(%rax)
1400972fb:	66 89 48 08          	mov    %cx,0x8(%rax)
1400972ff:	57                   	push   %rdi
140097300:	48 83 ec 20          	sub    $0x20,%rsp
140097304:	48 8b ca             	mov    %rdx,%rcx
140097307:	49 8b f0             	mov    %r8,%rsi
14009730a:	48 8b da             	mov    %rdx,%rbx
14009730d:	e8 aa 72 fe ff       	call   0x14007e5bc
140097312:	8b 4b 14             	mov    0x14(%rbx),%ecx
140097315:	90                   	nop
140097316:	4c 63 d0             	movslq %eax,%r10