140e62224:	7e 3a                	jle    0x140e62260
140e62226:	83 7d 18 02          	cmpl   $0x2,0x18(%rbp)
140e6222a:	72 2a                	jb     0x140e62256
140e6222c:	48 8d 45 1e          	lea    0x1e(%rbp),%rax
140e62230:	44 38 6d 1e          	cmp    %r13b,0x1e(%rbp)
140e62234:	74 20                	je     0x140e62256
140e62236:	44 38 68 01          	cmp    %r13b,0x1(%rax)
140e6223a:	74 1a                	je     0x140e62256
140e6223c:	41 8a 0c 24          	mov    (%r12),%cl
140e62240:	3a 08                	cmp    (%rax),%cl
140e62242:	72 09                	jb     0x140e6224d
140e62244:	3a 48 01             	cmp    0x1(%rax),%cl
140e62247:	0f 86 3f 02 00 00    	jbe    0x140e6248c
140e6224d:	48 83 c0 02          	add    $0x2,%rax
140e62251:	44 38 28             	cmp    %r13b,(%rax)
140e62254:	75 e0                	jne    0x140e62236
140e62256:	b8 01 00 00 00       	mov    $0x1,%eax
140e6225b:	e9 0f 02 00 00       	jmp    0x140e6246f
140e62260:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140e62265:	44 8b cf             	mov    %edi,%r9d
140e62268:	4d 8b c6             	mov    %r14,%r8
140e6226b:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140e62270:	ba 09 00 00 00       	mov    $0x9,%edx
140e62275:	41 8b cf             	mov    %r15d,%ecx
140e62278:	e8 f3 4a ff ff       	call   0x140e56d70
140e6227d:	4c 63 e8             	movslq %eax,%r13
140e62280:	85 c0                	test   %eax,%eax
140e62282:	0f 84 e5 01 00 00    	je     0x140e6246d
140e62288:	49 8b d5             	mov    %r13,%rdx
140e6228b:	48 03 d2             	add    %rdx,%rdx
140e6228e:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
140e62292:	48 3b d1             	cmp    %rcx,%rdx
140e62295:	48 1b d2             	sbb    %rdx,%rdx
140e62298:	48 23 d1             	and    %rcx,%rdx
140e6229b:	0f 84 cc 01 00 00    	je     0x140e6246d
140e622a1:	48 b9 f0 ff ff ff ff 	movabs $0xffffffffffffff0,%rcx
140e622a8:	ff ff 0f
140e622ab:	48 81 fa 00 04 00 00 	cmp    $0x400,%rdx
140e622b2:	77 2e                	ja     0x140e622e2
140e622b4:	48 8d 42 0f          	lea    0xf(%rdx),%rax
140e622b8:	48 3b c2             	cmp    %rdx,%rax
140e622bb:	77 03                	ja     0x140e622c0
140e622bd:	48 8b c1             	mov    %rcx,%rax
140e622c0:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140e622c4:	e8 d7 91 fb ff       	call   0x140e1b4a0
140e622c9:	48 2b e0             	sub    %rax,%rsp
140e622cc:	48 8d 5c 24 50       	lea    0x50(%rsp),%rbx
140e622d1:	48 85 db             	test   %rbx,%rbx
140e622d4:	0f 84 93 01 00 00    	je     0x140e6246d
140e622da:	c7 03 cc cc 00 00    	movl   $0xcccc,(%rbx)
140e622e0:	eb 16                	jmp    0x140e622f8
140e622e2:	48 8b ca             	mov    %rdx,%rcx
140e622e5:	e8 c6 19 ff ff       	call   0x140e53cb0
140e622ea:	48 8b d8             	mov    %rax,%rbx
140e622ed:	48 85 c0             	test   %rax,%rax
140e622f0:	74 0a                	je     0x140e622fc
140e622f2:	c7 00 dd dd 00 00    	movl   $0xdddd,(%rax)
140e622f8:	48 83 c3 10          	add    $0x10,%rbx
140e622fc:	48 85 db             	test   %rbx,%rbx
140e622ff:	0f 84 68 01 00 00    	je     0x140e6246d
140e62305:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140e6230a:	44 8b cf             	mov    %edi,%r9d
140e6230d:	4d 8b c6             	mov    %r14,%r8
140e62310:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140e62315:	ba 01 00 00 00       	mov    $0x1,%edx
140e6231a:	41 8b cf             	mov    %r15d,%ecx
140e6231d:	e8 4e 4a ff ff       	call   0x140e56d70
140e62322:	85 c0                	test   %eax,%eax
140e62324:	0f 84 32 01 00 00    	je     0x140e6245c
140e6232a:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
140e6232f:	44 8b ce             	mov    %esi,%r9d
140e62332:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e62338:	4d 8b c4             	mov    %r12,%r8
140e6233b:	ba 09 00 00 00       	mov    $0x9,%edx
140e62340:	41 8b cf             	mov    %r15d,%ecx
140e62343:	e8 28 4a ff ff       	call   0x140e56d70
140e62348:	4c 63 e0             	movslq %eax,%r12
140e6234b:	85 c0                	test   %eax,%eax
140e6234d:	0f 84 09 01 00 00    	je     0x140e6245c
140e62353:	49 8b cc             	mov    %r12,%rcx
140e62356:	48 03 c9             	add    %rcx,%rcx
140e62359:	48 8d 41 10          	lea    0x10(%rcx),%rax
140e6235d:	48 3b c8             	cmp    %rax,%rcx
140e62360:	48 1b c9             	sbb    %rcx,%rcx
140e62363:	48 23 c8             	and    %rax,%rcx
140e62366:	0f 84 f0 00 00 00    	je     0x140e6245c
140e6236c:	48 81 f9 00 04 00 00 	cmp    $0x400,%rcx
140e62373:	77 35                	ja     0x140e623aa
140e62375:	48 8d 41 0f          	lea    0xf(%rcx),%rax
140e62379:	48 3b c1             	cmp    %rcx,%rax
140e6237c:	77 0a                	ja     0x140e62388
140e6237e:	48 b8 f0 ff ff ff ff 	movabs $0xffffffffffffff0,%rax
140e62385:	ff ff 0f
140e62388:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140e6238c:	e8 0f 91 fb ff       	call   0x140e1b4a0
140e62391:	48 2b e0             	sub    %rax,%rsp
140e62394:	48 8d 7c 24 50       	lea    0x50(%rsp),%rdi
140e62399:	48 85 ff             	test   %rdi,%rdi
140e6239c:	0f 84 ba 00 00 00    	je     0x140e6245c
140e623a2:	c7 07 cc cc 00 00    	movl   $0xcccc,(%rdi)
140e623a8:	eb 13                	jmp    0x140e623bd
140e623aa:	e8 01 19 ff ff       	call   0x140e53cb0
140e623af:	48 8b f8             	mov    %rax,%rdi
140e623b2:	48 85 c0             	test   %rax,%rax
140e623b5:	74 0a                	je     0x140e623c1
140e623b7:	c7 00 dd dd 00 00    	movl   $0xdddd,(%rax)
140e623bd:	48 83 c7 10          	add    $0x10,%rdi
140e623c1:	48 85 ff             	test   %rdi,%rdi
140e623c4:	0f 84 92 00 00 00    	je     0x140e6245c
140e623ca:	4c 8b 45 08          	mov    0x8(%rbp),%r8
140e623ce:	4c 8d 77 f0          	lea    -0x10(%rdi),%r14
140e623d2:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
140e623d7:	44 8b ce             	mov    %esi,%r9d
140e623da:	ba 01 00 00 00       	mov    $0x1,%edx
140e623df:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140e623e4:	41 8b cf             	mov    %r15d,%ecx
140e623e7:	e8 84 49 ff ff       	call   0x140e56d70
140e623ec:	33 c9                	xor    %ecx,%ecx
140e623ee:	85 c0                	test   %eax,%eax
140e623f0:	75 1a                	jne    0x140e6240c
140e623f2:	bf dd dd 00 00       	mov    $0xdddd,%edi
140e623f7:	41 39 3e             	cmp    %edi,(%r14)
140e623fa:	75 08                	jne    0x140e62404
140e623fc:	49 8b ce             	mov    %r14,%rcx
140e623ff:	e8 70 18 ff ff       	call   0x140e53c74
140e62404:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
140e62408:	39 39                	cmp    %edi,(%rcx)
140e6240a:	eb 5a                	jmp    0x140e62466
140e6240c:	8b 55 00             	mov    0x0(%rbp),%edx
140e6240f:	45 8b cd             	mov    %r13d,%r9d
140e62412:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
140e62417:	4c 8b c3             	mov    %rbx,%r8
140e6241a:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140e6241f:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140e62424:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140e62428:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
140e6242d:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140e62432:	e8 2d 4d ff ff       	call   0x140e57164
140e62437:	be dd dd 00 00       	mov    $0xdddd,%esi
140e6243c:	8b f8                	mov    %eax,%edi
140e6243e:	41 39 36             	cmp    %esi,(%r14)
140e62441:	75 08                	jne    0x140e6244b
140e62443:	49 8b ce             	mov    %r14,%rcx
140e62446:	e8 29 18 ff ff       	call   0x140e53c74
140e6244b:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
140e6244f:	39 31                	cmp    %esi,(%rcx)
140e62451:	75 05                	jne    0x140e62458
140e62453:	e8 1c 18 ff ff       	call   0x140e53c74
140e62458:	8b c7                	mov    %edi,%eax
140e6245a:	eb 13                	jmp    0x140e6246f
140e6245c:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
140e62460:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
140e62466:	75 05                	jne    0x140e6246d
140e62468:	e8 07 18 ff ff       	call   0x140e53c74
140e6246d:	33 c0                	xor    %eax,%eax
140e6246f:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140e62473:	48 33 cd             	xor    %rbp,%rcx
140e62476:	e8 85 90 fb ff       	call   0x140e1b500
140e6247b:	48 8d 65 48          	lea    0x48(%rbp),%rsp
140e6247f:	41 5f                	pop    %r15
140e62481:	41 5e                	pop    %r14
140e62483:	41 5d                	pop    %r13
140e62485:	41 5c                	pop    %r12
140e62487:	5f                   	pop    %rdi
140e62488:	5e                   	pop    %rsi
140e62489:	5b                   	pop    %rbx
140e6248a:	5d                   	pop    %rbp
140e6248b:	c3                   	ret
140e6248c:	b8 02 00 00 00       	mov    $0x2,%eax
140e62491:	eb dc                	jmp    0x140e6246f
140e62493:	cc                   	int3
140e62494:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e62499:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140e6249e:	57                   	push   %rdi
140e6249f:	48 83 ec 60          	sub    $0x60,%rsp
140e624a3:	48 8b f2             	mov    %rdx,%rsi
140e624a6:	49 8b d9             	mov    %r9,%rbx
140e624a9:	48 8b d1             	mov    %rcx,%rdx
140e624ac:	41 8b f8             	mov    %r8d,%edi
140e624af:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140e624b4:	e8 ab fc fc ff       	call   0x140e32164
140e624b9:	8b 84 24 a8 00 00 00 	mov    0xa8(%rsp),%eax
140e624c0:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140e624c5:	89 44 24 38          	mov    %eax,0x38(%rsp)
140e624c9:	4c 8b cb             	mov    %rbx,%r9
140e624cc:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
140e624d3:	44 8b c7             	mov    %edi,%r8d
140e624d6:	89 44 24 30          	mov    %eax,0x30(%rsp)
140e624da:	48 8b d6             	mov    %rsi,%rdx
140e624dd:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
140e624e4:	00
140e624e5:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140e624ea:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140e624f1:	89 44 24 20          	mov    %eax,0x20(%rsp)
140e624f5:	e8 16 fc ff ff       	call   0x140e62110
140e624fa:	80 7c 24 58 00       	cmpb   $0x0,0x58(%rsp)
140e624ff:	74 0c                	je     0x140e6250d
140e62501:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140e62506:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140e6250d:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140e62512:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140e62517:	48 83 c4 60          	add    $0x60,%rsp
140e6251b:	5f                   	pop    %rdi
140e6251c:	c3                   	ret
140e6251d:	cc                   	int3
140e6251e:	cc                   	int3
140e6251f:	cc                   	int3
140e62520:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e62525:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e6252a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e6252f:	57                   	push   %rdi
140e62530:	41 54                	push   %r12
140e62532:	41 55                	push   %r13
140e62534:	41 56                	push   %r14
140e62536:	41 57                	push   %r15
140e62538:	48 83 ec 20          	sub    $0x20,%rsp
140e6253c:	48 8b d9             	mov    %rcx,%rbx
140e6253f:	bd ff 07 00 00       	mov    $0x7ff,%ebp
140e62544:	0f b7 49 06          	movzwl 0x6(%rcx),%ecx
140e62548:	8b f2                	mov    %edx,%esi
140e6254a:	66 c1 e9 04          	shr    $0x4,%cx
140e6254e:	66 23 cd             	and    %bp,%cx
140e62551:	66 3b cd             	cmp    %bp,%cx
140e62554:	75 2b                	jne    0x140e62581
140e62556:	f6 43 06 0f          	testb  $0xf,0x6(%rbx)
140e6255a:	75 18                	jne    0x140e62574
140e6255c:	33 ff                	xor    %edi,%edi
140e6255e:	66 39 7b 04          	cmp    %di,0x4(%rbx)
140e62562:	75 10                	jne    0x140e62574
140e62564:	66 39 7b 02          	cmp    %di,0x2(%rbx)
140e62568:	75 0a                	jne    0x140e62574
140e6256a:	66 39 3b             	cmp    %di,(%rbx)
140e6256d:	75 05                	jne    0x140e62574
140e6256f:	8d 77 01             	lea    0x1(%rdi),%esi
140e62572:	eb 05                	jmp    0x140e62579
140e62574:	be 02 00 00 00       	mov    $0x2,%esi
140e62579:	0f b7 c6             	movzwl %si,%eax
140e6257c:	e9 f8 01 00 00       	jmp    0x140e62779
140e62581:	33 ff                	xor    %edi,%edi
140e62583:	66 85 c9             	test   %cx,%cx
140e62586:	75 14                	jne    0x140e6259c
140e62588:	48 8b cb             	mov    %rbx,%rcx
140e6258b:	e8 80 09 00 00       	call   0x140e62f10
140e62590:	0f b7 c8             	movzwl %ax,%ecx
140e62593:	66 3b f8             	cmp    %ax,%di
140e62596:	0f 8c da 01 00 00    	jl     0x140e62776
140e6259c:	0f bf d1             	movswl %cx,%edx
140e6259f:	85 f6                	test   %esi,%esi
140e625a1:	7e 29                	jle    0x140e625cc
140e625a3:	2b ea                	sub    %edx,%ebp
140e625a5:	3b ee                	cmp    %esi,%ebp
140e625a7:	7f 23                	jg     0x140e625cc
140e625a9:	f2 0f 10 05 7f 45 38 	movsd  0x38457f(%rip),%xmm0        # 0x1411e6b30
140e625b0:	00
140e625b1:	66 39 7b 06          	cmp    %di,0x6(%rbx)
140e625b5:	7d 07                	jge    0x140e625be
140e625b7:	0f 57 05 e2 c0 14 00 	xorps  0x14c0e2(%rip),%xmm0        # 0x140fae6a0
140e625be:	f2 0f 11 03          	movsd  %xmm0,(%rbx)
140e625c2:	b8 01 00 00 00       	mov    $0x1,%eax
140e625c7:	e9 ad 01 00 00       	jmp    0x140e62779
140e625cc:	44 0f b7 5b 06       	movzwl 0x6(%rbx),%r11d
140e625d1:	8b c2                	mov    %edx,%eax
140e625d3:	f7 d8                	neg    %eax
140e625d5:	3b c6                	cmp    %esi,%eax
140e625d7:	7d 20                	jge    0x140e625f9
140e625d9:	66 03 f1             	add    %cx,%si
140e625dc:	b8 0f 80 00 00       	mov    $0x800f,%eax
140e625e1:	66 c1 e6 04          	shl    $0x4,%si
140e625e5:	66 44 23 d8          	and    %ax,%r11w
140e625e9:	66 41 0b f3          	or     %r11w,%si
140e625ed:	66 89 73 06          	mov    %si,0x6(%rbx)
140e625f1:	83 c8 ff             	or     $0xffffffff,%eax
140e625f4:	e9 80 01 00 00       	jmp    0x140e62779
140e625f9:	45 0f b7 fb          	movzwl %r11w,%r15d
140e625fd:	8d 6e ff             	lea    -0x1(%rsi),%ebp
140e62600:	66 41 83 e3 0f       	and    $0xf,%r11w
140e62605:	41 bd 00 80 00 00    	mov    $0x8000,%r13d
140e6260b:	41 bc 10 00 00 00    	mov    $0x10,%r12d
140e62611:	66 45 23 fd          	and    %r13w,%r15w
140e62615:	66 45 0b dc          	or     %r12w,%r11w
140e62619:	03 ea                	add    %edx,%ebp
140e6261b:	83 fd cb             	cmp    $0xffffffcb,%ebp
140e6261e:	0f 8c 47 01 00 00    	jl     0x140e6276b
140e62624:	85 ed                	test   %ebp,%ebp
140e62626:	0f 89 3f 01 00 00    	jns    0x140e6276b
140e6262c:	41 8d 74 24 f1       	lea    -0xf(%r12),%esi
140e62631:	44 0f b7 f7          	movzwl %di,%r14d
140e62635:	66 83 fd f0          	cmp    $0xfff0,%bp
140e62639:	7f 53                	jg     0x140e6268e
140e6263b:	0f b7 53 04          	movzwl 0x4(%rbx),%edx
140e6263f:	b8 f0 ff 00 00       	mov    $0xfff0,%eax
140e62644:	44 0f b7 43 02       	movzwl 0x2(%rbx),%r8d
140e62649:	66 2b c5             	sub    %bp,%ax
140e6264c:	66 c1 e8 04          	shr    $0x4,%ax
140e62650:	66 03 c6             	add    %si,%ax
140e62653:	0f b7 c8             	movzwl %ax,%ecx
140e62656:	0f b7 c1             	movzwl %cx,%eax
140e62659:	66 c1 e0 04          	shl    $0x4,%ax
140e6265d:	66 03 e8             	add    %ax,%bp
140e62660:	66 45 85 f6          	test   %r14w,%r14w
140e62664:	8b c7                	mov    %edi,%eax
140e62666:	0f 95 c0             	setne  %al
140e62669:	44 0f b7 f0          	movzwl %ax,%r14d
140e6266d:	66 44 0b 33          	or     (%rbx),%r14w
140e62671:	66 44 89 03          	mov    %r8w,(%rbx)
140e62675:	44 0f b7 c2          	movzwl %dx,%r8d
140e62679:	41 0f b7 d3          	movzwl %r11w,%edx
140e6267d:	44 8b df             	mov    %edi,%r11d
140e62680:	48 2b ce             	sub    %rsi,%rcx
140e62683:	75 db                	jne    0x140e62660
140e62685:	66 89 53 04          	mov    %dx,0x4(%rbx)
140e62689:	66 44 89 43 02       	mov    %r8w,0x2(%rbx)
140e6268e:	66 f7 dd             	neg    %bp
140e62691:	74 7a                	je     0x140e6270d
140e62693:	44 0f b7 03          	movzwl (%rbx),%r8d
140e62697:	8b c7                	mov    %edi,%eax
140e62699:	44 0f b7 4b 02       	movzwl 0x2(%rbx),%r9d
140e6269e:	41 0f b7 d0          	movzwl %r8w,%edx
140e626a2:	44 0f bf d5          	movswl %bp,%r10d
140e626a6:	45 2b e2             	sub    %r10d,%r12d
140e626a9:	41 8b cc             	mov    %r12d,%ecx
140e626ac:	66 d3 e2             	shl    %cl,%dx
140e626af:	66 45 85 f6          	test   %r14w,%r14w
140e626b3:	44 0f b7 f2          	movzwl %dx,%r14d
140e626b7:	0f b7 53 04          	movzwl 0x4(%rbx),%edx
140e626bb:	0f 95 c0             	setne  %al
140e626be:	66 44 0b f0          	or     %ax,%r14w
140e626c2:	41 0f b7 c1          	movzwl %r9w,%eax
140e626c6:	66 d3 e0             	shl    %cl,%ax
140e626c9:	0f b7 cd             	movzwl %bp,%ecx
140e626cc:	66 41 d3 e8          	shr    %cl,%r8w
140e626d0:	41 8b cc             	mov    %r12d,%ecx
140e626d3:	66 41 0b c0          	or     %r8w,%ax
140e626d7:	66 89 03             	mov    %ax,(%rbx)
140e626da:	0f b7 c2             	movzwl %dx,%eax
140e626dd:	66 d3 e0             	shl    %cl,%ax
140e626e0:	0f b7 cd             	movzwl %bp,%ecx
140e626e3:	66 41 d3 e9          	shr    %cl,%r9w
140e626e7:	41 8b cc             	mov    %r12d,%ecx
140e626ea:	66 41 0b c1          	or     %r9w,%ax
140e626ee:	66 89 43 02          	mov    %ax,0x2(%rbx)
140e626f2:	41 0f b7 c3          	movzwl %r11w,%eax
140e626f6:	66 d3 e0             	shl    %cl,%ax
140e626f9:	0f b7 cd             	movzwl %bp,%ecx
140e626fc:	66 d3 ea             	shr    %cl,%dx
140e626ff:	41 8b ca             	mov    %r10d,%ecx
140e62702:	66 0b c2             	or     %dx,%ax
140e62705:	66 89 43 04          	mov    %ax,0x4(%rbx)
140e62709:	66 41 d3 eb          	shr    %cl,%r11w
140e6270d:	66 45 0b df          	or     %r15w,%r11w