140022192:	85 c0                	test   %eax,%eax
140022194:	0f 85 45 01 00 00    	jne    0x1400222df
14002219a:	45 33 c0             	xor    %r8d,%r8d
14002219d:	41 8b c0             	mov    %r8d,%eax
1400221a0:	e9 2a 01 00 00       	jmp    0x1400222cf
1400221a5:	48 8b d3             	mov    %rbx,%rdx
1400221a8:	80 e3 20             	and    $0x20,%bl
1400221ab:	48 c1 ea 04          	shr    $0x4,%rdx
1400221af:	83 e2 01             	and    $0x1,%edx
1400221b2:	83 ca 02             	or     $0x2,%edx
1400221b5:	f6 db                	neg    %bl
1400221b7:	1b db                	sbb    %ebx,%ebx
1400221b9:	23 9c 24 a0 00 00 00 	and    0xa0(%rsp),%ebx
1400221c0:	83 e9 41             	sub    $0x41,%ecx
1400221c3:	0f 84 ce 00 00 00    	je     0x140022297
1400221c9:	83 e9 04             	sub    $0x4,%ecx
1400221cc:	0f 84 8b 00 00 00    	je     0x14002225d
1400221d2:	83 e9 01             	sub    $0x1,%ecx
1400221d5:	74 55                	je     0x14002222c
1400221d7:	83 e9 01             	sub    $0x1,%ecx
1400221da:	74 13                	je     0x1400221ef
1400221dc:	83 e9 1a             	sub    $0x1a,%ecx
1400221df:	0f 84 b2 00 00 00    	je     0x140022297
1400221e5:	83 e9 04             	sub    $0x4,%ecx
1400221e8:	74 73                	je     0x14002225d
1400221ea:	83 f9 01             	cmp    $0x1,%ecx
1400221ed:	74 3d                	je     0x14002222c
1400221ef:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
1400221f6:	00
1400221f7:	48 8b cf             	mov    %rdi,%rcx
1400221fa:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1400221ff:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140022206:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
14002220a:	89 54 24 38          	mov    %edx,0x38(%rsp)
14002220e:	49 8b d2             	mov    %r10,%rdx
140022211:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
140022216:	89 44 24 28          	mov    %eax,0x28(%rsp)
14002221a:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14002221f:	4d 8b c3             	mov    %r11,%r8
140022222:	e8 7d fb ff ff       	call   0x140021da4
140022227:	e9 a3 00 00 00       	jmp    0x1400222cf
14002222c:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140022233:	00
140022234:	49 8b d2             	mov    %r10,%rdx
140022237:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14002223c:	48 8b cf             	mov    %rdi,%rcx
14002223f:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140022246:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
14002224a:	89 44 24 28          	mov    %eax,0x28(%rsp)
14002224e:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140022253:	4d 8b c3             	mov    %r11,%r8
140022256:	e8 19 f9 ff ff       	call   0x140021b74
14002225b:	eb 72                	jmp    0x1400222cf
14002225d:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140022264:	00
140022265:	48 8b cf             	mov    %rdi,%rcx
140022268:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14002226d:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140022274:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
140022278:	89 54 24 38          	mov    %edx,0x38(%rsp)
14002227c:	49 8b d2             	mov    %r10,%rdx
14002227f:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
140022284:	89 44 24 28          	mov    %eax,0x28(%rsp)
140022288:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14002228d:	4d 8b c3             	mov    %r11,%r8
140022290:	e8 ff f5 ff ff       	call   0x140021894
140022295:	eb 38                	jmp    0x1400222cf
140022297:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
14002229e:	00
14002229f:	48 8b cf             	mov    %rdi,%rcx
1400222a2:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1400222a7:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
1400222ae:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
1400222b2:	89 54 24 38          	mov    %edx,0x38(%rsp)
1400222b6:	49 8b d2             	mov    %r10,%rdx
1400222b9:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
1400222be:	89 44 24 28          	mov    %eax,0x28(%rsp)
1400222c2:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400222c7:	4d 8b c3             	mov    %r11,%r8
1400222ca:	e8 2d f2 ff ff       	call   0x1400214fc
1400222cf:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400222d4:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1400222d9:	48 83 c4 50          	add    $0x50,%rsp
1400222dd:	5f                   	pop    %rdi
1400222de:	c3                   	ret
1400222df:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400222e5:	45 33 c9             	xor    %r9d,%r9d
1400222e8:	45 33 c0             	xor    %r8d,%r8d
1400222eb:	33 d2                	xor    %edx,%edx
1400222ed:	33 c9                	xor    %ecx,%ecx
1400222ef:	e8 b0 cc fe ff       	call   0x14000efa4
1400222f4:	cc                   	int3
1400222f5:	cc                   	int3
1400222f6:	cc                   	int3
1400222f7:	cc                   	int3
1400222f8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400222fd:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140022302:	66 44 89 4c 24 20    	mov    %r9w,0x20(%rsp)
140022308:	56                   	push   %rsi
140022309:	57                   	push   %rdi
14002230a:	41 56                	push   %r14
14002230c:	48 83 ec 40          	sub    $0x40,%rsp
140022310:	33 db                	xor    %ebx,%ebx
140022312:	49 8b e8             	mov    %r8,%rbp
140022315:	4c 8b f2             	mov    %rdx,%r14
140022318:	48 8b f1             	mov    %rcx,%rsi
14002231b:	48 85 d2             	test   %rdx,%rdx
14002231e:	75 15                	jne    0x140022335
140022320:	4d 85 c0             	test   %r8,%r8
140022323:	74 10                	je     0x140022335
140022325:	48 85 c9             	test   %rcx,%rcx
140022328:	0f 84 24 01 00 00    	je     0x140022452
14002232e:	89 19                	mov    %ebx,(%rcx)
140022330:	e9 1d 01 00 00       	jmp    0x140022452
140022335:	48 85 f6             	test   %rsi,%rsi
140022338:	74 03                	je     0x14002233d
14002233a:	83 09 ff             	orl    $0xffffffff,(%rcx)
14002233d:	48 8b bc 24 80 00 00 	mov    0x80(%rsp),%rdi
140022344:	00
140022345:	48 81 fd ff ff ff 7f 	cmp    $0x7fffffff,%rbp
14002234c:	76 0a                	jbe    0x140022358
14002234e:	be 16 00 00 00       	mov    $0x16,%esi
140022353:	e9 29 01 00 00       	jmp    0x140022481
140022358:	38 5f 28             	cmp    %bl,0x28(%rdi)
14002235b:	75 0e                	jne    0x14002236b
14002235d:	48 8b cf             	mov    %rdi,%rcx
140022360:	e8 db 22 ff ff       	call   0x140014640
140022365:	44 0f b7 4c 24 78    	movzwl 0x78(%rsp),%r9d
14002236b:	48 8b 47 18          	mov    0x18(%rdi),%rax
14002236f:	8b 48 0c             	mov    0xc(%rax),%ecx
140022372:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
140022378:	75 35                	jne    0x1400223af
14002237a:	41 0f b7 d1          	movzwl %r9w,%edx
14002237e:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
140022383:	4c 8b cf             	mov    %rdi,%r9
140022386:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
14002238b:	49 8b ce             	mov    %r14,%rcx
14002238e:	e8 d9 be 00 00       	call   0x14002e26c
140022393:	48 85 f6             	test   %rsi,%rsi
140022396:	74 02                	je     0x14002239a
140022398:	89 06                	mov    %eax,(%rsi)
14002239a:	83 f8 04             	cmp    $0x4,%eax
14002239d:	0f 8e af 00 00 00    	jle    0x140022452
1400223a3:	38 5f 30             	cmp    %bl,0x30(%rdi)
1400223a6:	74 03                	je     0x1400223ab
1400223a8:	8b 5f 2c             	mov    0x2c(%rdi),%ebx
1400223ab:	8b c3                	mov    %ebx,%eax
1400223ad:	eb 37                	jmp    0x1400223e6
1400223af:	48 39 98 38 01 00 00 	cmp    %rbx,0x138(%rax)
1400223b6:	75 5b                	jne    0x140022413
1400223b8:	b8 ff 00 00 00       	mov    $0xff,%eax
1400223bd:	66 44 3b c8          	cmp    %ax,%r9w
1400223c1:	76 36                	jbe    0x1400223f9
1400223c3:	4d 85 f6             	test   %r14,%r14
1400223c6:	74 12                	je     0x1400223da
1400223c8:	48 85 ed             	test   %rbp,%rbp
1400223cb:	74 0d                	je     0x1400223da
1400223cd:	4c 8b c5             	mov    %rbp,%r8
1400223d0:	33 d2                	xor    %edx,%edx
1400223d2:	49 8b ce             	mov    %r14,%rcx
1400223d5:	e8 d6 8a 01 00       	call   0x14003aeb0
1400223da:	b8 2a 00 00 00       	mov    $0x2a,%eax
1400223df:	89 47 2c             	mov    %eax,0x2c(%rdi)
1400223e2:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
1400223e6:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400223eb:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1400223f0:	48 83 c4 40          	add    $0x40,%rsp
1400223f4:	41 5e                	pop    %r14
1400223f6:	5f                   	pop    %rdi
1400223f7:	5e                   	pop    %rsi
1400223f8:	c3                   	ret
1400223f9:	4d 85 f6             	test   %r14,%r14
1400223fc:	74 08                	je     0x140022406
1400223fe:	48 85 ed             	test   %rbp,%rbp
140022401:	74 79                	je     0x14002247c
140022403:	45 88 0e             	mov    %r9b,(%r14)
140022406:	48 85 f6             	test   %rsi,%rsi
140022409:	74 47                	je     0x140022452
14002240b:	c7 06 01 00 00 00    	movl   $0x1,(%rsi)
140022411:	eb 3f                	jmp    0x140022452
140022413:	48 8d 44 24 68       	lea    0x68(%rsp),%rax
140022418:	89 5c 24 68          	mov    %ebx,0x68(%rsp)
14002241c:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140022421:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
140022426:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14002242b:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140022431:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
140022435:	33 d2                	xor    %edx,%edx
140022437:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14002243c:	e8 b7 6c 00 00       	call   0x1400290f8
140022441:	85 c0                	test   %eax,%eax
140022443:	74 11                	je     0x140022456
140022445:	39 5c 24 68          	cmp    %ebx,0x68(%rsp)
140022449:	75 8f                	jne    0x1400223da
14002244b:	48 85 f6             	test   %rsi,%rsi
14002244e:	74 02                	je     0x140022452
140022450:	89 06                	mov    %eax,(%rsi)
140022452:	33 c0                	xor    %eax,%eax
140022454:	eb 90                	jmp    0x1400223e6
140022456:	ff 15 6c 9d 01 00    	call   *0x19d6c(%rip)        # 0x14003c1c8
14002245c:	83 f8 7a             	cmp    $0x7a,%eax
14002245f:	0f 85 75 ff ff ff    	jne    0x1400223da
140022465:	4d 85 f6             	test   %r14,%r14
140022468:	74 12                	je     0x14002247c
14002246a:	48 85 ed             	test   %rbp,%rbp
14002246d:	74 0d                	je     0x14002247c
14002246f:	4c 8b c5             	mov    %rbp,%r8
140022472:	33 d2                	xor    %edx,%edx
140022474:	49 8b ce             	mov    %r14,%rcx
140022477:	e8 34 8a 01 00       	call   0x14003aeb0
14002247c:	be 22 00 00 00       	mov    $0x22,%esi
140022481:	89 77 2c             	mov    %esi,0x2c(%rdi)
140022484:	45 33 c9             	xor    %r9d,%r9d
140022487:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14002248c:	45 33 c0             	xor    %r8d,%r8d
14002248f:	33 d2                	xor    %edx,%edx
140022491:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
140022495:	33 c9                	xor    %ecx,%ecx
140022497:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14002249c:	e8 e7 c9 fe ff       	call   0x14000ee88
1400224a1:	8b c6                	mov    %esi,%eax
1400224a3:	e9 3e ff ff ff       	jmp    0x1400223e6
1400224a8:	48 8b c4             	mov    %rsp,%rax
1400224ab:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400224af:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400224b3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400224b7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400224bb:	41 56                	push   %r14
1400224bd:	48 83 ec 30          	sub    $0x30,%rsp
1400224c1:	45 33 f6             	xor    %r14d,%r14d
1400224c4:	49 8b d9             	mov    %r9,%rbx
1400224c7:	49 8b e8             	mov    %r8,%rbp
1400224ca:	48 8b f2             	mov    %rdx,%rsi
1400224cd:	48 8b f9             	mov    %rcx,%rdi
1400224d0:	48 85 d2             	test   %rdx,%rdx
1400224d3:	0f 84 23 01 00 00    	je     0x1400225fc
1400224d9:	4d 85 c0             	test   %r8,%r8
1400224dc:	0f 84 1a 01 00 00    	je     0x1400225fc
1400224e2:	44 38 32             	cmp    %r14b,(%rdx)
1400224e5:	75 12                	jne    0x1400224f9
1400224e7:	48 85 c9             	test   %rcx,%rcx
1400224ea:	0f 84 13 01 00 00    	je     0x140022603
1400224f0:	66 44 89 31          	mov    %r14w,(%rcx)
1400224f4:	e9 0a 01 00 00       	jmp    0x140022603
1400224f9:	45 38 71 28          	cmp    %r14b,0x28(%r9)
1400224fd:	75 08                	jne    0x140022507
1400224ff:	48 8b cb             	mov    %rbx,%rcx
140022502:	e8 39 21 ff ff       	call   0x140014640
140022507:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14002250b:	44 8b 52 0c          	mov    0xc(%rdx),%r10d
14002250f:	41 81 fa e9 fd 00 00 	cmp    $0xfde9,%r10d
140022516:	75 27                	jne    0x14002253f
140022518:	4c 8d 0d a1 fb 02 00 	lea    0x2fba1(%rip),%r9        # 0x1400520c0
14002251f:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140022524:	4c 8b c5             	mov    %rbp,%r8
140022527:	48 8b d6             	mov    %rsi,%rdx
14002252a:	48 8b cf             	mov    %rdi,%rcx
14002252d:	e8 de bd 00 00       	call   0x14002e310
140022532:	83 c9 ff             	or     $0xffffffff,%ecx
140022535:	85 c0                	test   %eax,%eax
140022537:	0f 48 c1             	cmovs  %ecx,%eax
14002253a:	e9 c6 00 00 00       	jmp    0x140022605
14002253f:	4c 39 b2 38 01 00 00 	cmp    %r14,0x138(%rdx)
140022546:	75 14                	jne    0x14002255c
140022548:	48 85 ff             	test   %rdi,%rdi
14002254b:	0f 84 a4 00 00 00    	je     0x1400225f5
140022551:	0f b6 06             	movzbl (%rsi),%eax
140022554:	66 89 07             	mov    %ax,(%rdi)
140022557:	e9 99 00 00 00       	jmp    0x1400225f5
14002255c:	0f b6 0e             	movzbl (%rsi),%ecx
14002255f:	48 8b 02             	mov    (%rdx),%rax
140022562:	66 44 39 34 48       	cmp    %r14w,(%rax,%rcx,2)
140022567:	7d 61                	jge    0x1400225ca
140022569:	44 8b 4a 08          	mov    0x8(%rdx),%r9d
14002256d:	41 83 f9 01          	cmp    $0x1,%r9d
140022571:	7e 2b                	jle    0x14002259e
140022573:	41 3b e9             	cmp    %r9d,%ebp
140022576:	7c 26                	jl     0x14002259e
140022578:	41 8b c6             	mov    %r14d,%eax
14002257b:	48 85 ff             	test   %rdi,%rdi
14002257e:	4c 8b c6             	mov    %rsi,%r8
140022581:	ba 09 00 00 00       	mov    $0x9,%edx
140022586:	0f 95 c0             	setne  %al
140022589:	41 8b ca             	mov    %r10d,%ecx
14002258c:	89 44 24 28          	mov    %eax,0x28(%rsp)
140022590:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140022595:	e8 3a 3b 00 00       	call   0x1400260d4
14002259a:	85 c0                	test   %eax,%eax
14002259c:	75 13                	jne    0x1400225b1
14002259e:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400225a2:	48 63 48 08          	movslq 0x8(%rax),%rcx
1400225a6:	48 3b e9             	cmp    %rcx,%rbp
1400225a9:	72 0f                	jb     0x1400225ba
1400225ab:	44 38 76 01          	cmp    %r14b,0x1(%rsi)
1400225af:	74 09                	je     0x1400225ba
1400225b1:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400225b5:	8b 40 08             	mov    0x8(%rax),%eax
1400225b8:	eb 4b                	jmp    0x140022605
1400225ba:	c6 43 30 01          	movb   $0x1,0x30(%rbx)
1400225be:	83 c8 ff             	or     $0xffffffff,%eax
1400225c1:	c7 43 2c 2a 00 00 00 	movl   $0x2a,0x2c(%rbx)
1400225c8:	eb 3b                	jmp    0x140022605
1400225ca:	41 8b c6             	mov    %r14d,%eax
1400225cd:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400225d3:	48 85 ff             	test   %rdi,%rdi
1400225d6:	4c 8b c6             	mov    %rsi,%r8
1400225d9:	41 8b ca             	mov    %r10d,%ecx
1400225dc:	0f 95 c0             	setne  %al
1400225df:	89 44 24 28          	mov    %eax,0x28(%rsp)
1400225e3:	41 8d 51 08          	lea    0x8(%r9),%edx
1400225e7:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1400225ec:	e8 e3 3a 00 00       	call   0x1400260d4
1400225f1:	85 c0                	test   %eax,%eax
1400225f3:	74 c5                	je     0x1400225ba
1400225f5:	b8 01 00 00 00       	mov    $0x1,%eax
1400225fa:	eb 09                	jmp    0x140022605
1400225fc:	4c 89 35 bd fa 02 00 	mov    %r14,0x2fabd(%rip)        # 0x1400520c0
140022603:	33 c0                	xor    %eax,%eax
140022605:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002260a:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002260f:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140022614:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140022619:	48 83 c4 30          	add    $0x30,%rsp
14002261d:	41 5e                	pop    %r14
14002261f:	c3                   	ret
140022620:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140022625:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
14002262a:	55                   	push   %rbp
14002262b:	48 8b ec             	mov    %rsp,%rbp
14002262e:	48 83 ec 60          	sub    $0x60,%rsp
140022632:	48 83 65 c0 00       	andq   $0x0,-0x40(%rbp)
140022637:	c6 45 d0 00          	movb   $0x0,-0x30(%rbp)
14002263b:	c6 45 e8 00          	movb   $0x0,-0x18(%rbp)
14002263f:	c6 45 f0 00          	movb   $0x0,-0x10(%rbp)
140022643:	c6 45 f8 00          	movb   $0x0,-0x8(%rbp)
140022647:	4d 85 c9             	test   %r9,%r9
14002264a:	74 06                	je     0x140022652
14002264c:	41 0f 10 01          	movups (%r9),%xmm0
140022650:	eb 10                	jmp    0x140022662
140022652:	83 3d 23 fa 02 00 00 	cmpl   $0x0,0x2fa23(%rip)        # 0x14005207c
140022659:	75 10                	jne    0x14002266b
14002265b:	0f 10 05 66 bd 02 00 	movups 0x2bd66(%rip),%xmm0        # 0x14004e3c8
140022662:	c6 45 e8 01          	movb   $0x1,-0x18(%rbp)
140022666:	f3 0f 7f 45 d8       	movdqu %xmm0,-0x28(%rbp)
14002266b:	4c 8d 4d c0          	lea    -0x40(%rbp),%r9
14002266f:	e8 34 fe ff ff       	call   0x1400224a8
140022674:	80 7d e8 02          	cmpb   $0x2,-0x18(%rbp)
140022678:	8b f8                	mov    %eax,%edi
14002267a:	75 0b                	jne    0x140022687
14002267c:	48 8b 4d c0          	mov    -0x40(%rbp),%rcx