140a5729e:	72 19                	jb     0x140a572b9
140a572a0:	48 83 c2 27          	add    $0x27,%rdx
140a572a4:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a572a8:	48 2b c1             	sub    %rcx,%rax
140a572ab:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a572af:	48 83 f8 1f          	cmp    $0x1f,%rax
140a572b3:	0f 87 56 02 00 00    	ja     0x140a5750f
140a572b9:	e8 86 3e 3c 00       	call   0x140e1b144
140a572be:	0f b6 c3             	movzbl %bl,%eax
140a572c1:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
140a572c5:	48 33 cc             	xor    %rsp,%rcx
140a572c8:	e8 33 42 3c 00       	call   0x140e1b500
140a572cd:	48 8b 9c 24 a0 01 00 	mov    0x1a0(%rsp),%rbx
140a572d4:	00
140a572d5:	48 81 c4 50 01 00 00 	add    $0x150,%rsp
140a572dc:	41 5f                	pop    %r15
140a572de:	41 5e                	pop    %r14
140a572e0:	41 5d                	pop    %r13
140a572e2:	41 5c                	pop    %r12
140a572e4:	5f                   	pop    %rdi
140a572e5:	5e                   	pop    %rsi
140a572e6:	5d                   	pop    %rbp
140a572e7:	c3                   	ret
140a572e8:	48 83 ff 0f          	cmp    $0xf,%rdi
140a572ec:	77 1e                	ja     0x140a5730c
140a572ee:	48 89 7d 30          	mov    %rdi,0x30(%rbp)
140a572f2:	4c 8b c7             	mov    %rdi,%r8
140a572f5:	49 8b d5             	mov    %r13,%rdx
140a572f8:	48 8d 4d 20          	lea    0x20(%rbp),%rcx
140a572fc:	e8 0f 7d 48 00       	call   0x140edf010
140a57301:	42 c6 44 35 20 00    	movb   $0x0,0x20(%rbp,%r14,1)
140a57307:	e9 9d 00 00 00       	jmp    0x140a573a9
140a5730c:	48 8b c7             	mov    %rdi,%rax
140a5730f:	48 83 c8 0f          	or     $0xf,%rax
140a57313:	49 be ff ff ff ff ff 	movabs $0x7fffffffffffffff,%r14
140a5731a:	ff ff 7f
140a5731d:	49 3b c6             	cmp    %r14,%rax
140a57320:	76 2d                	jbe    0x140a5734f
140a57322:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140a57329:	00 00 80
140a5732c:	48 83 c0 27          	add    $0x27,%rax
140a57330:	48 8b c8             	mov    %rax,%rcx
140a57333:	e8 d0 3d 3c 00       	call   0x140e1b108
140a57338:	48 85 c0             	test   %rax,%rax
140a5733b:	0f 84 c2 01 00 00    	je     0x140a57503
140a57341:	48 8d 70 27          	lea    0x27(%rax),%rsi
140a57345:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
140a57349:	48 89 46 f8          	mov    %rax,-0x8(%rsi)
140a5734d:	eb 3c                	jmp    0x140a5738b
140a5734f:	4c 8b f0             	mov    %rax,%r14
140a57352:	b9 16 00 00 00       	mov    $0x16,%ecx
140a57357:	48 3b c1             	cmp    %rcx,%rax
140a5735a:	4c 0f 42 f1          	cmovb  %rcx,%r14
140a5735e:	49 8d 4e 01          	lea    0x1(%r14),%rcx
140a57362:	48 85 c9             	test   %rcx,%rcx
140a57365:	75 04                	jne    0x140a5736b
140a57367:	33 f6                	xor    %esi,%esi
140a57369:	eb 20                	jmp    0x140a5738b
140a5736b:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a57372:	72 0f                	jb     0x140a57383
140a57374:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a57378:	48 3b c1             	cmp    %rcx,%rax
140a5737b:	0f 86 88 01 00 00    	jbe    0x140a57509
140a57381:	eb ad                	jmp    0x140a57330
140a57383:	e8 80 3d 3c 00       	call   0x140e1b108
140a57388:	48 8b f0             	mov    %rax,%rsi
140a5738b:	48 89 7d 30          	mov    %rdi,0x30(%rbp)
140a5738f:	4c 89 75 38          	mov    %r14,0x38(%rbp)
140a57393:	4c 8b c7             	mov    %rdi,%r8
140a57396:	49 8b d5             	mov    %r13,%rdx
140a57399:	48 8b ce             	mov    %rsi,%rcx
140a5739c:	e8 6f 7c 48 00       	call   0x140edf010
140a573a1:	c6 04 37 00          	movb   $0x0,(%rdi,%rsi,1)
140a573a5:	48 89 75 20          	mov    %rsi,0x20(%rbp)
140a573a9:	48 01 7b 10          	add    %rdi,0x10(%rbx)
140a573ad:	48 8d 05 dc 8e 5c 00 	lea    0x5c8edc(%rip),%rax        # 0x141020290
140a573b4:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140a573b9:	33 c0                	xor    %eax,%eax
140a573bb:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140a573bf:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140a573c3:	89 45 d8             	mov    %eax,-0x28(%rbp)
140a573c6:	0f 57 c0             	xorps  %xmm0,%xmm0
140a573c9:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140a573ce:	0f 57 c9             	xorps  %xmm1,%xmm1
140a573d1:	66 0f 7f 4d f0       	movdqa %xmm1,-0x10(%rbp)
140a573d6:	66 0f 7f 45 00       	movdqa %xmm0,0x0(%rbp)
140a573db:	48 89 45 10          	mov    %rax,0x10(%rbp)
140a573df:	88 45 18             	mov    %al,0x18(%rbp)
140a573e2:	41 83 cc 04          	or     $0x4,%r12d
140a573e6:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
140a573eb:	48 8d 35 96 e4 58 00 	lea    0x58e496(%rip),%rsi        # 0x140fe5888
140a573f2:	48 89 75 c0          	mov    %rsi,-0x40(%rbp)
140a573f6:	c7 45 bc 78 00 00 00 	movl   $0x78,-0x44(%rbp)
140a573fd:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140a57402:	45 33 c0             	xor    %r8d,%r8d
140a57405:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a5740a:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140a5740e:	e8 bd fd 7a ff       	call   0x1402071d0
140a57413:	90                   	nop
140a57414:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a57419:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a5741d:	48 8d 3d 64 8e 5c 00 	lea    0x5c8e64(%rip),%rdi        # 0x141020288
140a57424:	48 89 7c 0c 30       	mov    %rdi,0x30(%rsp,%rcx,1)
140a57429:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a5742e:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a57432:	44 8d 81 70 ff ff ff 	lea    -0x90(%rcx),%r8d
140a57439:	44 89 44 0c 2c       	mov    %r8d,0x2c(%rsp,%rcx,1)
140a5743e:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140a57444:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140a57448:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a5744d:	e8 fe 82 d2 ff       	call   0x14077f750
140a57452:	90                   	nop
140a57453:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140a57458:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a5745d:	e8 8e ea ff ff       	call   0x140a55ef0
140a57462:	48 8b 08             	mov    (%rax),%rcx
140a57465:	48 63 51 04          	movslq 0x4(%rcx),%rdx
140a57469:	f6 44 02 10 06       	testb  $0x6,0x10(%rdx,%rax,1)
140a5746e:	75 04                	jne    0x140a57474
140a57470:	b3 01                	mov    $0x1,%bl
140a57472:	eb 2c                	jmp    0x140a574a0
140a57474:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5747a:	b2 14                	mov    $0x14,%dl
140a5747c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a57481:	e8 5a fb fa ff       	call   0x140a06fe0
140a57486:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a5748b:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a5748f:	e8 5c 78 f6 ff       	call   0x1409becf0
140a57494:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a57499:	e8 52 7d f6 ff       	call   0x1409bf1f0
140a5749e:	32 db                	xor    %bl,%bl
140a574a0:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574a5:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574a9:	48 89 7c 0c 30       	mov    %rdi,0x30(%rsp,%rcx,1)
140a574ae:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574b3:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574b7:	8d 91 70 ff ff ff    	lea    -0x90(%rcx),%edx
140a574bd:	89 54 0c 2c          	mov    %edx,0x2c(%rsp,%rcx,1)
140a574c1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a574c6:	e8 25 9e 78 ff       	call   0x1401e12f0
140a574cb:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574d0:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574d4:	48 89 74 0c 30       	mov    %rsi,0x30(%rsp,%rcx,1)
140a574d9:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140a574de:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a574e2:	8d 51 e8             	lea    -0x18(%rcx),%edx
140a574e5:	89 54 0c 2c          	mov    %edx,0x2c(%rsp,%rcx,1)
140a574e9:	48 8d 05 f0 21 55 00 	lea    0x5521f0(%rip),%rax        # 0x140fa96e0
140a574f0:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140a574f4:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140a574f8:	e8 07 55 3a 00       	call   0x140dfca04
140a574fd:	90                   	nop
140a574fe:	e9 80 fd ff ff       	jmp    0x140a57283
140a57503:	e8 9c 2c 3d 00       	call   0x140e2a1a4
140a57508:	cc                   	int3
140a57509:	e8 82 5c 74 ff       	call   0x14019d190
140a5750e:	90                   	nop
140a5750f:	e8 90 2c 3d 00       	call   0x140e2a1a4
140a57514:	cc                   	int3
140a57515:	cc                   	int3
140a57516:	cc                   	int3
140a57517:	cc                   	int3
140a57518:	cc                   	int3
140a57519:	cc                   	int3
140a5751a:	cc                   	int3
140a5751b:	cc                   	int3
140a5751c:	cc                   	int3
140a5751d:	cc                   	int3
140a5751e:	cc                   	int3
140a5751f:	cc                   	int3
140a57520:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a57525:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a5752a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a5752f:	57                   	push   %rdi
140a57530:	41 56                	push   %r14
140a57532:	41 57                	push   %r15
140a57534:	48 83 ec 20          	sub    $0x20,%rsp
140a57538:	4c 8b fa             	mov    %rdx,%r15
140a5753b:	48 8b d9             	mov    %rcx,%rbx
140a5753e:	33 ff                	xor    %edi,%edi
140a57540:	48 89 7a 10          	mov    %rdi,0x10(%rdx)
140a57544:	48 8b c2             	mov    %rdx,%rax
140a57547:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140a5754c:	76 03                	jbe    0x140a57551
140a5754e:	48 8b 02             	mov    (%rdx),%rax
140a57551:	40 88 38             	mov    %dil,(%rax)
140a57554:	40 32 f6             	xor    %sil,%sil
140a57557:	8b ef                	mov    %edi,%ebp
140a57559:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140a57560:	48 8b 43 10          	mov    0x10(%rbx),%rax
140a57564:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a57568:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140a5756c:	77 0f                	ja     0x140a5757d
140a5756e:	0f b6 30             	movzbl (%rax),%esi
140a57571:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a57575:	b0 01                	mov    $0x1,%al
140a57577:	4c 8d 73 08          	lea    0x8(%rbx),%r14
140a5757b:	eb 2f                	jmp    0x140a575ac
140a5757d:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57583:	b2 18                	mov    $0x18,%dl
140a57585:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a5758a:	e8 51 fa fa ff       	call   0x140a06fe0
140a5758f:	4c 8d 73 08          	lea    0x8(%rbx),%r14
140a57593:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a57598:	49 8b ce             	mov    %r14,%rcx
140a5759b:	e8 50 77 f6 ff       	call   0x1409becf0
140a575a0:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a575a5:	e8 46 7c f6 ff       	call   0x1409bf1f0
140a575aa:	32 c0                	xor    %al,%al
140a575ac:	84 c0                	test   %al,%al
140a575ae:	74 4b                	je     0x140a575fb
140a575b0:	40 8b c6             	rex mov %esi,%eax
140a575b3:	83 e0 7f             	and    $0x7f,%eax
140a575b6:	8b cd                	mov    %ebp,%ecx
140a575b8:	d3 e0                	shl    %cl,%eax
140a575ba:	0b f8                	or     %eax,%edi
140a575bc:	83 c5 07             	add    $0x7,%ebp
140a575bf:	40 84 f6             	test   %sil,%sil
140a575c2:	78 9c                	js     0x140a57560
140a575c4:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140a575c8:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
140a575cc:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a575d0:	76 44                	jbe    0x140a57616
140a575d2:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a575d8:	b2 18                	mov    $0x18,%dl
140a575da:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a575df:	e8 fc f9 fa ff       	call   0x140a06fe0
140a575e4:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a575e9:	49 8b ce             	mov    %r14,%rcx
140a575ec:	e8 ff 76 f6 ff       	call   0x1409becf0
140a575f1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a575f6:	e8 f5 7b f6 ff       	call   0x1409bf1f0
140a575fb:	32 c0                	xor    %al,%al
140a575fd:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140a57602:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140a57607:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140a5760c:	48 83 c4 20          	add    $0x20,%rsp
140a57610:	41 5f                	pop    %r15
140a57612:	41 5e                	pop    %r14
140a57614:	5f                   	pop    %rdi
140a57615:	c3                   	ret
140a57616:	4c 8b c7             	mov    %rdi,%r8
140a57619:	49 8b cf             	mov    %r15,%rcx
140a5761c:	e8 af 7d 74 ff       	call   0x14019f3d0
140a57621:	48 01 7b 10          	add    %rdi,0x10(%rbx)
140a57625:	b0 01                	mov    $0x1,%al
140a57627:	eb d4                	jmp    0x140a575fd
140a57629:	cc                   	int3
140a5762a:	cc                   	int3
140a5762b:	cc                   	int3
140a5762c:	cc                   	int3
140a5762d:	cc                   	int3
140a5762e:	cc                   	int3
140a5762f:	cc                   	int3
140a57630:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a57635:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a5763a:	56                   	push   %rsi
140a5763b:	57                   	push   %rdi
140a5763c:	41 54                	push   %r12
140a5763e:	41 56                	push   %r14
140a57640:	41 57                	push   %r15
140a57642:	48 83 ec 20          	sub    $0x20,%rsp
140a57646:	48 8b f2             	mov    %rdx,%rsi
140a57649:	48 8b f9             	mov    %rcx,%rdi
140a5764c:	45 33 e4             	xor    %r12d,%r12d
140a5764f:	4c 89 62 10          	mov    %r12,0x10(%rdx)
140a57653:	48 8b c2             	mov    %rdx,%rax
140a57656:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
140a5765b:	76 03                	jbe    0x140a57660
140a5765d:	48 8b 02             	mov    (%rdx),%rax
140a57660:	66 44 89 20          	mov    %r12w,(%rax)
140a57664:	45 8b f4             	mov    %r12d,%r14d
140a57667:	32 db                	xor    %bl,%bl
140a57669:	41 8b ec             	mov    %r12d,%ebp
140a5766c:	0f 1f 40 00          	nopl   0x0(%rax)
140a57670:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a57674:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a57678:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
140a5767c:	77 0f                	ja     0x140a5768d
140a5767e:	0f b6 18             	movzbl (%rax),%ebx
140a57681:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140a57685:	b0 01                	mov    $0x1,%al
140a57687:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a5768b:	eb 2f                	jmp    0x140a576bc
140a5768d:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57693:	b2 18                	mov    $0x18,%dl
140a57695:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a5769a:	e8 41 f9 fa ff       	call   0x140a06fe0
140a5769f:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a576a3:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a576a8:	49 8b cf             	mov    %r15,%rcx
140a576ab:	e8 40 76 f6 ff       	call   0x1409becf0
140a576b0:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a576b5:	e8 36 7b f6 ff       	call   0x1409bf1f0
140a576ba:	32 c0                	xor    %al,%al
140a576bc:	84 c0                	test   %al,%al
140a576be:	74 4a                	je     0x140a5770a
140a576c0:	8b c3                	mov    %ebx,%eax
140a576c2:	83 e0 7f             	and    $0x7f,%eax
140a576c5:	8b cd                	mov    %ebp,%ecx
140a576c7:	d3 e0                	shl    %cl,%eax
140a576c9:	44 0b f0             	or     %eax,%r14d
140a576cc:	83 c5 07             	add    $0x7,%ebp
140a576cf:	84 db                	test   %bl,%bl
140a576d1:	78 9d                	js     0x140a57670
140a576d3:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a576d7:	4a 8d 14 70          	lea    (%rax,%r14,2),%rdx
140a576db:	48 3b 57 18          	cmp    0x18(%rdi),%rdx
140a576df:	76 42                	jbe    0x140a57723
140a576e1:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a576e7:	b2 18                	mov    $0x18,%dl
140a576e9:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a576ee:	e8 ed f8 fa ff       	call   0x140a06fe0
140a576f3:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a576f8:	49 8b cf             	mov    %r15,%rcx
140a576fb:	e8 f0 75 f6 ff       	call   0x1409becf0
140a57700:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a57705:	e8 e6 7a f6 ff       	call   0x1409bf1f0
140a5770a:	32 c0                	xor    %al,%al
140a5770c:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140a57711:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140a57716:	48 83 c4 20          	add    $0x20,%rsp
140a5771a:	41 5f                	pop    %r15
140a5771c:	41 5e                	pop    %r14
140a5771e:	41 5c                	pop    %r12
140a57720:	5f                   	pop    %rdi
140a57721:	5e                   	pop    %rsi
140a57722:	c3                   	ret
140a57723:	49 8b ec             	mov    %r12,%rbp
140a57726:	4d 85 f6             	test   %r14,%r14
140a57729:	74 6e                	je     0x140a57799
140a5772b:	0f b6 5c 24 50       	movzbl 0x50(%rsp),%ebx
140a57730:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140a57734:	44 0f b7 09          	movzwl (%rcx),%r9d
140a57738:	48 8b 47 18          	mov    0x18(%rdi),%rax
140a5773c:	48 2b c1             	sub    %rcx,%rax
140a5773f:	48 83 f8 02          	cmp    $0x2,%rax
140a57743:	72 5b                	jb     0x140a577a0
140a57745:	48 8d 41 02          	lea    0x2(%rcx),%rax
140a57749:	48 89 47 10          	mov    %rax,0x10(%rdi)
140a5774d:	66 41 c1 c9 08       	ror    $0x8,%r9w
140a57752:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a57756:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140a5775a:	48 3b ca             	cmp    %rdx,%rcx
140a5775d:	73 21                	jae    0x140a57780
140a5775f:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a57763:	48 89 46 10          	mov    %rax,0x10(%rsi)
140a57767:	48 8b c6             	mov    %rsi,%rax
140a5776a:	48 83 fa 07          	cmp    $0x7,%rdx
140a5776e:	76 03                	jbe    0x140a57773