1408e84d6:	48 8b 1c 24          	mov    (%rsp),%rbx
1408e84da:	81 e2 7f c0 1f 00    	and    $0x1fc07f,%edx
1408e84e0:	c1 e2 07             	shl    $0x7,%edx
1408e84e3:	8b ca                	mov    %edx,%ecx
1408e84e5:	ba 7f c0 1f f0       	mov    $0xf01fc07f,%edx
1408e84ea:	41 8b c0             	mov    %r8d,%eax
1408e84ed:	48 25 00 f8 ff ff    	and    $0xfffffffffffff800,%rax
1408e84f3:	48 c1 e0 15          	shl    $0x15,%rax
1408e84f7:	48 0b c8             	or     %rax,%rcx
1408e84fa:	41 8b c2             	mov    %r10d,%eax
1408e84fd:	48 23 c2             	and    %rdx,%rax
1408e8500:	48 0b c8             	or     %rax,%rcx
1408e8503:	b0 07                	mov    $0x7,%al
1408e8505:	49 89 0b             	mov    %rcx,(%r11)
1408e8508:	48 83 c4 08          	add    $0x8,%rsp
1408e850c:	c3                   	ret
1408e850d:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
1408e8511:	41 81 e2 7f c0 1f 00 	and    $0x1fc07f,%r10d
1408e8518:	c1 e2 0e             	shl    $0xe,%edx
1408e851b:	0b d0                	or     %eax,%edx
1408e851d:	41 c1 e2 07          	shl    $0x7,%r10d
1408e8521:	84 d2                	test   %dl,%dl
1408e8523:	78 2c                	js     0x1408e8551
1408e8525:	48 8b 1c 24          	mov    (%rsp),%rbx
1408e8529:	8b c2                	mov    %edx,%eax
1408e852b:	41 8b c8             	mov    %r8d,%ecx
1408e852e:	ba 7f c0 1f f0       	mov    $0xf01fc07f,%edx
1408e8533:	48 23 c2             	and    %rdx,%rax
1408e8536:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
1408e853a:	48 c1 e1 1c          	shl    $0x1c,%rcx
1408e853e:	48 0b c8             	or     %rax,%rcx
1408e8541:	41 8b c2             	mov    %r10d,%eax
1408e8544:	48 0b c8             	or     %rax,%rcx
1408e8547:	b0 08                	mov    $0x8,%al
1408e8549:	49 89 0b             	mov    %rcx,(%r11)
1408e854c:	48 83 c4 08          	add    $0x8,%rsp
1408e8550:	c3                   	ret
1408e8551:	81 e2 7f c0 1f 00    	and    $0x1fc07f,%edx
1408e8557:	41 c1 e0 04          	shl    $0x4,%r8d
1408e855b:	83 e3 78             	and    $0x78,%ebx
1408e855e:	41 8b c8             	mov    %r8d,%ecx
1408e8561:	48 c1 e1 03          	shl    $0x3,%rcx
1408e8565:	41 0b d2             	or     %r10d,%edx
1408e8568:	48 0b cb             	or     %rbx,%rcx
1408e856b:	c1 e2 08             	shl    $0x8,%edx
1408e856e:	48 8b 1c 24          	mov    (%rsp),%rbx
1408e8572:	48 c1 e1 1d          	shl    $0x1d,%rcx
1408e8576:	8b c2                	mov    %edx,%eax
1408e8578:	48 0b c8             	or     %rax,%rcx
1408e857b:	41 0f b6 41 08       	movzbl 0x8(%r9),%eax
1408e8580:	48 0b c8             	or     %rax,%rcx
1408e8583:	b0 09                	mov    $0x9,%al
1408e8585:	49 89 0b             	mov    %rcx,(%r11)
1408e8588:	48 83 c4 08          	add    $0x8,%rsp
1408e858c:	c3                   	ret
1408e858d:	cc                   	int3
1408e858e:	cc                   	int3
1408e858f:	cc                   	int3
1408e8590:	40 53                	rex push %rbx
1408e8592:	48 83 ec 20          	sub    $0x20,%rsp
1408e8596:	44 0f b6 41 01       	movzbl 0x1(%rcx),%r8d
1408e859b:	48 8b da             	mov    %rdx,%rbx
1408e859e:	0f b6 01             	movzbl (%rcx),%eax
1408e85a1:	45 84 c0             	test   %r8b,%r8b
1408e85a4:	78 13                	js     0x1408e85b9
1408e85a6:	83 e0 7f             	and    $0x7f,%eax
1408e85a9:	c1 e0 07             	shl    $0x7,%eax
1408e85ac:	41 0b c0             	or     %r8d,%eax
1408e85af:	89 02                	mov    %eax,(%rdx)
1408e85b1:	b0 02                	mov    $0x2,%al
1408e85b3:	48 83 c4 20          	add    $0x20,%rsp
1408e85b7:	5b                   	pop    %rbx
1408e85b8:	c3                   	ret
1408e85b9:	0f b6 51 02          	movzbl 0x2(%rcx),%edx
1408e85bd:	c1 e0 0e             	shl    $0xe,%eax
1408e85c0:	0b d0                	or     %eax,%edx
1408e85c2:	84 d2                	test   %dl,%dl
1408e85c4:	78 1c                	js     0x1408e85e2
1408e85c6:	41 83 e0 7f          	and    $0x7f,%r8d
1408e85ca:	81 e2 7f c0 1f 00    	and    $0x1fc07f,%edx
1408e85d0:	41 c1 e0 07          	shl    $0x7,%r8d
1408e85d4:	b0 03                	mov    $0x3,%al
1408e85d6:	44 0b c2             	or     %edx,%r8d
1408e85d9:	44 89 03             	mov    %r8d,(%rbx)
1408e85dc:	48 83 c4 20          	add    $0x20,%rsp
1408e85e0:	5b                   	pop    %rbx
1408e85e1:	c3                   	ret
1408e85e2:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1408e85e7:	e8 b4 fd ff ff       	call   0x1408e83a0
1408e85ec:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
1408e85f1:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
1408e85f7:	8b ca                	mov    %edx,%ecx
1408e85f9:	48 3b ca             	cmp    %rdx,%rcx
1408e85fc:	41 0f 45 d0          	cmovne %r8d,%edx
1408e8600:	89 13                	mov    %edx,(%rbx)
1408e8602:	48 83 c4 20          	add    $0x20,%rsp
1408e8606:	5b                   	pop    %rbx
1408e8607:	c3                   	ret
1408e8608:	cc                   	int3
1408e8609:	cc                   	int3
1408e860a:	cc                   	int3
1408e860b:	cc                   	int3
1408e860c:	cc                   	int3
1408e860d:	cc                   	int3
1408e860e:	cc                   	int3
1408e860f:	cc                   	int3
1408e8610:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1408e8615:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1408e861a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1408e861f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1408e8624:	41 56                	push   %r14
1408e8626:	48 83 ec 40          	sub    $0x40,%rsp
1408e862a:	48 8b 79 10          	mov    0x10(%rcx),%rdi
1408e862e:	49 8b e9             	mov    %r9,%rbp
1408e8631:	41 8b f0             	mov    %r8d,%esi
1408e8634:	44 8b f2             	mov    %edx,%r14d
1408e8637:	48 8b d9             	mov    %rcx,%rbx
1408e863a:	48 85 ff             	test   %rdi,%rdi
1408e863d:	75 1e                	jne    0x1408e865d
1408e863f:	48 39 b9 a0 00 00 00 	cmp    %rdi,0xa0(%rcx)
1408e8646:	75 0d                	jne    0x1408e8655
1408e8648:	48 8b 01             	mov    (%rcx),%rax
1408e864b:	f6 40 60 08          	testb  $0x8,0x60(%rax)
1408e864f:	75 04                	jne    0x1408e8655
1408e8651:	c6 41 23 01          	movb   $0x1,0x23(%rcx)
1408e8655:	e8 66 f2 01 00       	call   0x1409078c0
1408e865a:	48 8b f8             	mov    %rax,%rdi
1408e865d:	83 fe 02             	cmp    $0x2,%esi
1408e8660:	75 12                	jne    0x1408e8674
1408e8662:	48 8b 8b a0 00 00 00 	mov    0xa0(%rbx),%rcx
1408e8669:	48 85 c9             	test   %rcx,%rcx
1408e866c:	48 0f 45 d9          	cmovne %rcx,%rbx
1408e8670:	c6 43 21 01          	movb   $0x1,0x21(%rbx)
1408e8674:	0f be 44 24 70       	movsbl 0x70(%rsp),%eax
1408e8679:	44 8b ce             	mov    %esi,%r9d
1408e867c:	89 44 24 30          	mov    %eax,0x30(%rsp)
1408e8680:	45 8b c6             	mov    %r14d,%r8d
1408e8683:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
1408e8688:	ba 46 00 00 00       	mov    $0x46,%edx
1408e868d:	48 8b cf             	mov    %rdi,%rcx
1408e8690:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1408e8697:	00
1408e8698:	e8 83 e6 01 00       	call   0x140906d20
1408e869d:	48 63 87 90 00 00 00 	movslq 0x90(%rdi),%rax
1408e86a4:	85 c0                	test   %eax,%eax
1408e86a6:	7e 15                	jle    0x1408e86bd
1408e86a8:	0f b6 54 24 78       	movzbl 0x78(%rsp),%edx
1408e86ad:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1408e86b1:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
1408e86b8:	66 89 54 c8 ea       	mov    %dx,-0x16(%rax,%rcx,8)
1408e86bd:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1408e86c2:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1408e86c7:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1408e86cc:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
1408e86d1:	48 83 c4 40          	add    $0x40,%rsp
1408e86d5:	41 5e                	pop    %r14
1408e86d7:	c3                   	ret
1408e86d8:	cc                   	int3
1408e86d9:	cc                   	int3
1408e86da:	cc                   	int3
1408e86db:	cc                   	int3
1408e86dc:	cc                   	int3
1408e86dd:	cc                   	int3
1408e86de:	cc                   	int3
1408e86df:	cc                   	int3
1408e86e0:	48 83 ec 28          	sub    $0x28,%rsp
1408e86e4:	4c 8b d9             	mov    %rcx,%r11
1408e86e7:	48 85 d2             	test   %rdx,%rdx
1408e86ea:	74 29                	je     0x1408e8715
1408e86ec:	4c 63 12             	movslq (%rdx),%r10
1408e86ef:	45 33 c9             	xor    %r9d,%r9d
1408e86f2:	4d 85 d2             	test   %r10,%r10
1408e86f5:	7e 1e                	jle    0x1408e8715
1408e86f7:	41 8b c1             	mov    %r9d,%eax
1408e86fa:	4c 8d 42 1c          	lea    0x1c(%rdx),%r8
1408e86fe:	66 90                	xchg   %ax,%ax
1408e8700:	41 f6 00 20          	testb  $0x20,(%r8)
1408e8704:	75 16                	jne    0x1408e871c
1408e8706:	41 ff c1             	inc    %r9d
1408e8709:	48 ff c0             	inc    %rax
1408e870c:	49 83 c0 20          	add    $0x20,%r8
1408e8710:	49 3b c2             	cmp    %r10,%rax
1408e8713:	7c eb                	jl     0x1408e8700
1408e8715:	33 c0                	xor    %eax,%eax
1408e8717:	48 83 c4 28          	add    $0x28,%rsp
1408e871b:	c3                   	ret
1408e871c:	49 63 c1             	movslq %r9d,%rax
1408e871f:	48 c1 e0 05          	shl    $0x5,%rax
1408e8723:	0f b6 4c 10 18       	movzbl 0x18(%rax,%rdx,1),%ecx
1408e8728:	84 c9                	test   %cl,%cl
1408e872a:	74 0c                	je     0x1408e8738
1408e872c:	4c 8d 05 81 af 70 00 	lea    0x70af81(%rip),%r8        # 0x140ff36b4
1408e8733:	80 f9 03             	cmp    $0x3,%cl
1408e8736:	75 07                	jne    0x1408e873f
1408e8738:	4c 8d 05 b1 90 76 00 	lea    0x7690b1(%rip),%r8        # 0x1410517f0
1408e873f:	48 8d 15 b2 90 76 00 	lea    0x7690b2(%rip),%rdx        # 0x1410517f8
1408e8746:	49 8b cb             	mov    %r11,%rcx
1408e8749:	e8 32 11 ff ff       	call   0x1408d9880
1408e874e:	b8 01 00 00 00       	mov    $0x1,%eax
1408e8753:	48 83 c4 28          	add    $0x28,%rsp
1408e8757:	c3                   	ret
1408e8758:	cc                   	int3
1408e8759:	cc                   	int3
1408e875a:	cc                   	int3
1408e875b:	cc                   	int3
1408e875c:	cc                   	int3
1408e875d:	cc                   	int3
1408e875e:	cc                   	int3
1408e875f:	cc                   	int3
1408e8760:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1408e8765:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1408e876a:	56                   	push   %rsi
1408e876b:	48 83 ec 20          	sub    $0x20,%rsp
1408e876f:	48 8b 59 08          	mov    0x8(%rcx),%rbx
1408e8773:	48 8b f1             	mov    %rcx,%rsi
1408e8776:	33 ed                	xor    %ebp,%ebp
1408e8778:	48 89 69 08          	mov    %rbp,0x8(%rcx)
1408e877c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1408e8780:	e8 cb 33 fa ff       	call   0x14088bb50
1408e8785:	48 89 6e 10          	mov    %rbp,0x10(%rsi)
1408e8789:	89 2e                	mov    %ebp,(%rsi)
1408e878b:	48 85 db             	test   %rbx,%rbx
1408e878e:	0f 84 97 00 00 00    	je     0x1408e882b
1408e8794:	48 8b 0d 75 b3 b4 00 	mov    0xb4b375(%rip),%rcx        # 0x141433b10
1408e879b:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1408e87a0:	39 2d 8a 4e ac 00    	cmp    %ebp,0xac4e8a(%rip)        # 0x1413ad630
1408e87a6:	48 8b 3b             	mov    (%rbx),%rdi
1408e87a9:	74 58                	je     0x1408e8803
1408e87ab:	48 85 c9             	test   %rcx,%rcx
1408e87ae:	74 0d                	je     0x1408e87bd
1408e87b0:	48 8b 05 f9 4e ac 00 	mov    0xac4ef9(%rip),%rax        # 0x1413ad6b0
1408e87b7:	ff 15 63 b2 69 00    	call   *0x69b263(%rip)        # 0x140f83a20
1408e87bd:	48 8b 05 a4 4e ac 00 	mov    0xac4ea4(%rip),%rax        # 0x1413ad668
1408e87c4:	48 8b cb             	mov    %rbx,%rcx
1408e87c7:	ff 15 53 b2 69 00    	call   *0x69b253(%rip)        # 0x140f83a20
1408e87cd:	48 ff 0d c4 b2 b4 00 	decq   0xb4b2c4(%rip)        # 0x141433a98
1408e87d4:	48 8b cb             	mov    %rbx,%rcx
1408e87d7:	48 63 d0             	movslq %eax,%rdx
1408e87da:	48 8b 05 77 4e ac 00 	mov    0xac4e77(%rip),%rax        # 0x1413ad658
1408e87e1:	48 29 15 68 b2 b4 00 	sub    %rdx,0xb4b268(%rip)        # 0x141433a50
1408e87e8:	ff 15 32 b2 69 00    	call   *0x69b232(%rip)        # 0x140f83a20
1408e87ee:	48 8b 0d 1b b3 b4 00 	mov    0xb4b31b(%rip),%rcx        # 0x141433b10
1408e87f5:	48 85 c9             	test   %rcx,%rcx
1408e87f8:	74 20                	je     0x1408e881a
1408e87fa:	48 8b 05 bf 4e ac 00 	mov    0xac4ebf(%rip),%rax        # 0x1413ad6c0
1408e8801:	eb 0a                	jmp    0x1408e880d
1408e8803:	48 8b 05 4e 4e ac 00 	mov    0xac4e4e(%rip),%rax        # 0x1413ad658
1408e880a:	48 8b cb             	mov    %rbx,%rcx
1408e880d:	ff 15 0d b2 69 00    	call   *0x69b20d(%rip)        # 0x140f83a20
1408e8813:	48 8b 0d f6 b2 b4 00 	mov    0xb4b2f6(%rip),%rcx        # 0x141433b10
1408e881a:	48 8b df             	mov    %rdi,%rbx
1408e881d:	48 85 ff             	test   %rdi,%rdi
1408e8820:	0f 85 7a ff ff ff    	jne    0x1408e87a0
1408e8826:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1408e882b:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1408e8830:	89 6e 04             	mov    %ebp,0x4(%rsi)
1408e8833:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1408e8838:	48 83 c4 20          	add    $0x20,%rsp
1408e883c:	5e                   	pop    %rsi
1408e883d:	c3                   	ret
1408e883e:	cc                   	int3
1408e883f:	cc                   	int3
1408e8840:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1408e8845:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1408e884a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1408e884f:	57                   	push   %rdi
1408e8850:	48 83 ec 20          	sub    $0x20,%rsp
1408e8854:	49 8b f0             	mov    %r8,%rsi
1408e8857:	48 8b ea             	mov    %rdx,%rbp
1408e885a:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
1408e885f:	48 8b d9             	mov    %rcx,%rbx
1408e8862:	e8 a9 cd fb ff       	call   0x1408a5610
1408e8867:	48 8b c8             	mov    %rax,%rcx
1408e886a:	48 8b 78 10          	mov    0x10(%rax),%rdi
1408e886e:	48 85 ff             	test   %rdi,%rdi
1408e8871:	74 78                	je     0x1408e88eb
1408e8873:	48 85 f6             	test   %rsi,%rsi
1408e8876:	75 63                	jne    0x1408e88db
1408e8878:	48 8b 50 08          	mov    0x8(%rax),%rdx
1408e887c:	48 8b 00             	mov    (%rax),%rax
1408e887f:	48 85 d2             	test   %rdx,%rdx
1408e8882:	74 05                	je     0x1408e8889
1408e8884:	48 89 02             	mov    %rax,(%rdx)
1408e8887:	eb 04                	jmp    0x1408e888d
1408e8889:	48 89 43 08          	mov    %rax,0x8(%rbx)
1408e888d:	48 8b 11             	mov    (%rcx),%rdx
1408e8890:	48 85 d2             	test   %rdx,%rdx
1408e8893:	74 08                	je     0x1408e889d
1408e8895:	48 8b 41 08          	mov    0x8(%rcx),%rax
1408e8899:	48 89 42 08          	mov    %rax,0x8(%rdx)
1408e889d:	48 8b 43 10          	mov    0x10(%rbx),%rax
1408e88a1:	48 85 c0             	test   %rax,%rax
1408e88a4:	74 1a                	je     0x1408e88c0
1408e88a6:	8b 54 24 48          	mov    0x48(%rsp),%edx
1408e88aa:	48 c1 e2 04          	shl    $0x4,%rdx
1408e88ae:	48 03 d0             	add    %rax,%rdx
1408e88b1:	48 39 4a 08          	cmp    %rcx,0x8(%rdx)
1408e88b5:	75 07                	jne    0x1408e88be
1408e88b7:	48 8b 01             	mov    (%rcx),%rax
1408e88ba:	48 89 42 08          	mov    %rax,0x8(%rdx)
1408e88be:	ff 0a                	decl   (%rdx)
1408e88c0:	e8 8b 32 fa ff       	call   0x14088bb50
1408e88c5:	83 6b 04 01          	subl   $0x1,0x4(%rbx)
1408e88c9:	75 18                	jne    0x1408e88e3
1408e88cb:	48 8b cb             	mov    %rbx,%rcx
1408e88ce:	e8 8d fe ff ff       	call   0x1408e8760
1408e88d3:	48 8b c7             	mov    %rdi,%rax
1408e88d6:	e9 e8 00 00 00       	jmp    0x1408e89c3
1408e88db:	48 89 70 10          	mov    %rsi,0x10(%rax)
1408e88df:	48 89 68 18          	mov    %rbp,0x18(%rax)
1408e88e3:	48 8b c7             	mov    %rdi,%rax
1408e88e6:	e9 d8 00 00 00       	jmp    0x1408e89c3
1408e88eb:	48 85 f6             	test   %rsi,%rsi
1408e88ee:	0f 84 cd 00 00 00    	je     0x1408e89c1
1408e88f4:	b9 20 00 00 00       	mov    $0x20,%ecx
1408e88f9:	e8 62 4e 00 00       	call   0x1408ed760
1408e88fe:	48 8b f8             	mov    %rax,%rdi
1408e8901:	48 85 c0             	test   %rax,%rax
1408e8904:	75 08                	jne    0x1408e890e
1408e8906:	48 8b c6             	mov    %rsi,%rax
1408e8909:	e9 b5 00 00 00       	jmp    0x1408e89c3
1408e890e:	48 89 68 18          	mov    %rbp,0x18(%rax)
1408e8912:	48 89 70 10          	mov    %rsi,0x10(%rax)
1408e8916:	8b 53 04             	mov    0x4(%rbx),%edx
1408e8919:	ff c2                	inc    %edx
1408e891b:	89 53 04             	mov    %edx,0x4(%rbx)
1408e891e:	83 fa 0a             	cmp    $0xa,%edx
1408e8921:	72 24                	jb     0x1408e8947
1408e8923:	8b 03                	mov    (%rbx),%eax
1408e8925:	03 c0                	add    %eax,%eax
1408e8927:	3b d0                	cmp    %eax,%edx
1408e8929:	76 1c                	jbe    0x1408e8947
1408e892b:	03 d2                	add    %edx,%edx
1408e892d:	48 8b cb             	mov    %rbx,%rcx
1408e8930:	e8 8b 5f fd ff       	call   0x1408be8c0
1408e8935:	85 c0                	test   %eax,%eax
1408e8937:	74 0e                	je     0x1408e8947
1408e8939:	48 8b cd             	mov    %rbp,%rcx
1408e893c:	e8 1f bd 03 00       	call   0x140924660
1408e8941:	33 d2                	xor    %edx,%edx
1408e8943:	f7 33                	divl   (%rbx)
1408e8945:	eb 04                	jmp    0x1408e894b
1408e8947:	8b 54 24 48          	mov    0x48(%rsp),%edx
1408e894b:	48 8b 43 10          	mov    0x10(%rbx),%rax
1408e894f:	48 85 c0             	test   %rax,%rax
1408e8952:	74 4d                	je     0x1408e89a1
1408e8954:	8b ca                	mov    %edx,%ecx
1408e8956:	48 c1 e1 04          	shl    $0x4,%rcx
1408e895a:	48 03 c8             	add    %rax,%rcx
1408e895d:	74 42                	je     0x1408e89a1