140e2a4fd:	eb b6                	jmp    0x140e2a4b5
140e2a4ff:	cc                   	int3
140e2a500:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e2a505:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e2a50a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e2a50f:	57                   	push   %rdi
140e2a510:	48 83 ec 20          	sub    $0x20,%rsp
140e2a514:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140e2a51b:	ff ff 7f
140e2a51e:	48 8b e9             	mov    %rcx,%rbp
140e2a521:	48 3b d0             	cmp    %rax,%rdx
140e2a524:	76 11                	jbe    0x140e2a537
140e2a526:	41 c6 40 30 01       	movb   $0x1,0x30(%r8)
140e2a52b:	32 c0                	xor    %al,%al
140e2a52d:	41 c7 40 2c 0c 00 00 	movl   $0xc,0x2c(%r8)
140e2a534:	00
140e2a535:	eb 5c                	jmp    0x140e2a593
140e2a537:	33 ff                	xor    %edi,%edi
140e2a539:	48 8d 34 12          	lea    (%rdx,%rdx,1),%rsi
140e2a53d:	48 39 b9 08 04 00 00 	cmp    %rdi,0x408(%rcx)
140e2a544:	75 09                	jne    0x140e2a54f
140e2a546:	48 81 fe 00 04 00 00 	cmp    $0x400,%rsi
140e2a54d:	76 09                	jbe    0x140e2a558
140e2a54f:	48 3b b1 00 04 00 00 	cmp    0x400(%rcx),%rsi
140e2a556:	77 04                	ja     0x140e2a55c
140e2a558:	b0 01                	mov    $0x1,%al
140e2a55a:	eb 37                	jmp    0x140e2a593
140e2a55c:	48 8b ce             	mov    %rsi,%rcx
140e2a55f:	e8 4c 97 02 00       	call   0x140e53cb0
140e2a564:	48 8b d8             	mov    %rax,%rbx
140e2a567:	48 85 c0             	test   %rax,%rax
140e2a56a:	74 1d                	je     0x140e2a589
140e2a56c:	48 8b 8d 08 04 00 00 	mov    0x408(%rbp),%rcx
140e2a573:	e8 fc 96 02 00       	call   0x140e53c74
140e2a578:	48 89 9d 08 04 00 00 	mov    %rbx,0x408(%rbp)
140e2a57f:	40 b7 01             	mov    $0x1,%dil
140e2a582:	48 89 b5 00 04 00 00 	mov    %rsi,0x400(%rbp)
140e2a589:	33 c9                	xor    %ecx,%ecx
140e2a58b:	e8 e4 96 02 00       	call   0x140e53c74
140e2a590:	40 8a c7             	mov    %dil,%al
140e2a593:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e2a598:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140e2a59d:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140e2a5a2:	48 83 c4 20          	add    $0x20,%rsp
140e2a5a6:	5f                   	pop    %rdi
140e2a5a7:	c3                   	ret
140e2a5a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e2a5ad:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e2a5b2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e2a5b7:	57                   	push   %rdi
140e2a5b8:	48 83 ec 20          	sub    $0x20,%rsp
140e2a5bc:	48 b8 ff ff ff ff ff 	movabs $0x3fffffffffffffff,%rax
140e2a5c3:	ff ff 3f
140e2a5c6:	48 8b e9             	mov    %rcx,%rbp
140e2a5c9:	48 3b d0             	cmp    %rax,%rdx
140e2a5cc:	76 11                	jbe    0x140e2a5df
140e2a5ce:	41 c6 40 30 01       	movb   $0x1,0x30(%r8)
140e2a5d3:	32 c0                	xor    %al,%al
140e2a5d5:	41 c7 40 2c 0c 00 00 	movl   $0xc,0x2c(%r8)
140e2a5dc:	00
140e2a5dd:	eb 60                	jmp    0x140e2a63f
140e2a5df:	33 ff                	xor    %edi,%edi
140e2a5e1:	48 8d 34 95 00 00 00 	lea    0x0(,%rdx,4),%rsi
140e2a5e8:	00
140e2a5e9:	48 39 b9 08 04 00 00 	cmp    %rdi,0x408(%rcx)
140e2a5f0:	75 09                	jne    0x140e2a5fb
140e2a5f2:	48 81 fe 00 04 00 00 	cmp    $0x400,%rsi
140e2a5f9:	76 09                	jbe    0x140e2a604
140e2a5fb:	48 3b b1 00 04 00 00 	cmp    0x400(%rcx),%rsi
140e2a602:	77 04                	ja     0x140e2a608
140e2a604:	b0 01                	mov    $0x1,%al
140e2a606:	eb 37                	jmp    0x140e2a63f
140e2a608:	48 8b ce             	mov    %rsi,%rcx
140e2a60b:	e8 a0 96 02 00       	call   0x140e53cb0
140e2a610:	48 8b d8             	mov    %rax,%rbx
140e2a613:	48 85 c0             	test   %rax,%rax
140e2a616:	74 1d                	je     0x140e2a635
140e2a618:	48 8b 8d 08 04 00 00 	mov    0x408(%rbp),%rcx
140e2a61f:	e8 50 96 02 00       	call   0x140e53c74
140e2a624:	48 89 9d 08 04 00 00 	mov    %rbx,0x408(%rbp)
140e2a62b:	40 b7 01             	mov    $0x1,%dil
140e2a62e:	48 89 b5 00 04 00 00 	mov    %rsi,0x400(%rbp)
140e2a635:	33 c9                	xor    %ecx,%ecx
140e2a637:	e8 38 96 02 00       	call   0x140e53c74
140e2a63c:	40 8a c7             	mov    %dil,%al
140e2a63f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e2a644:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140e2a649:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140e2a64e:	48 83 c4 20          	add    $0x20,%rsp
140e2a652:	5f                   	pop    %rdi
140e2a653:	c3                   	ret
140e2a654:	45 8b c8             	mov    %r8d,%r9d
140e2a657:	41 83 e9 02          	sub    $0x2,%r9d
140e2a65b:	74 32                	je     0x140e2a68f
140e2a65d:	41 83 e9 01          	sub    $0x1,%r9d
140e2a661:	74 29                	je     0x140e2a68c
140e2a663:	41 83 f9 09          	cmp    $0x9,%r9d
140e2a667:	74 23                	je     0x140e2a68c
140e2a669:	41 83 f8 0d          	cmp    $0xd,%r8d
140e2a66d:	74 1d                	je     0x140e2a68c
140e2a66f:	83 e1 04             	and    $0x4,%ecx
140e2a672:	41 b8 ef ff 00 00    	mov    $0xffef,%r8d
140e2a678:	0f 95 c0             	setne  %al
140e2a67b:	66 83 ea 63          	sub    $0x63,%dx
140e2a67f:	66 41 85 d0          	test   %dx,%r8w
140e2a683:	74 0c                	je     0x140e2a691
140e2a685:	48 85 c9             	test   %rcx,%rcx
140e2a688:	0f 94 c0             	sete   %al
140e2a68b:	c3                   	ret
140e2a68c:	b0 01                	mov    $0x1,%al
140e2a68e:	c3                   	ret
140e2a68f:	32 c0                	xor    %al,%al
140e2a691:	c3                   	ret
140e2a692:	cc                   	int3
140e2a693:	cc                   	int3
140e2a694:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e2a699:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e2a69e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e2a6a3:	57                   	push   %rdi
140e2a6a4:	41 54                	push   %r12
140e2a6a6:	41 55                	push   %r13
140e2a6a8:	41 56                	push   %r14
140e2a6aa:	41 57                	push   %r15
140e2a6ac:	48 83 ec 30          	sub    $0x30,%rsp
140e2a6b0:	4c 8b 22             	mov    (%rdx),%r12
140e2a6b3:	41 8b e8             	mov    %r8d,%ebp
140e2a6b6:	48 8b da             	mov    %rdx,%rbx
140e2a6b9:	4c 8b e9             	mov    %rcx,%r13
140e2a6bc:	4d 85 e4             	test   %r12,%r12
140e2a6bf:	75 12                	jne    0x140e2a6d3
140e2a6c1:	e8 2a fc ff ff       	call   0x140e2a2f0
140e2a6c6:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e2a6cc:	e8 b3 fa ff ff       	call   0x140e2a184
140e2a6d1:	eb 32                	jmp    0x140e2a705
140e2a6d3:	85 ed                	test   %ebp,%ebp
140e2a6d5:	74 46                	je     0x140e2a71d
140e2a6d7:	41 8d 40 fe          	lea    -0x2(%r8),%eax
140e2a6db:	83 f8 22             	cmp    $0x22,%eax
140e2a6de:	76 3d                	jbe    0x140e2a71d
140e2a6e0:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
140e2a6e4:	45 33 c9             	xor    %r9d,%r9d
140e2a6e7:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
140e2a6ee:	45 33 c0             	xor    %r8d,%r8d
140e2a6f1:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140e2a6f6:	33 c9                	xor    %ecx,%ecx
140e2a6f8:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e2a6fe:	33 d2                	xor    %edx,%edx
140e2a700:	e8 b3 f9 ff ff       	call   0x140e2a0b8
140e2a705:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e2a709:	48 85 c9             	test   %rcx,%rcx
140e2a70c:	0f 84 7e 01 00 00    	je     0x140e2a890
140e2a712:	48 8b 03             	mov    (%rbx),%rax
140e2a715:	48 89 01             	mov    %rax,(%rcx)
140e2a718:	e9 73 01 00 00       	jmp    0x140e2a890
140e2a71d:	41 8a 34 24          	mov    (%r12),%sil
140e2a721:	49 8d 4c 24 01       	lea    0x1(%r12),%rcx
140e2a726:	45 33 f6             	xor    %r14d,%r14d
140e2a729:	41 0f b6 c1          	movzbl %r9b,%eax
140e2a72d:	8b f8                	mov    %eax,%edi
140e2a72f:	48 89 0a             	mov    %rcx,(%rdx)
140e2a732:	45 8d 7e 02          	lea    0x2(%r14),%r15d
140e2a736:	41 0b ff             	or     %r15d,%edi
140e2a739:	40 80 fe 2d          	cmp    $0x2d,%sil
140e2a73d:	0f 45 f8             	cmovne %eax,%edi
140e2a740:	74 06                	je     0x140e2a748
140e2a742:	40 80 fe 2b          	cmp    $0x2b,%sil
140e2a746:	75 09                	jne    0x140e2a751
140e2a748:	40 8a 31             	mov    (%rcx),%sil
140e2a74b:	48 ff c1             	inc    %rcx
140e2a74e:	48 89 0a             	mov    %rcx,(%rdx)
140e2a751:	f7 c5 ef ff ff ff    	test   $0xffffffef,%ebp
140e2a757:	0f 85 88 00 00 00    	jne    0x140e2a7e5
140e2a75d:	8d 46 d0             	lea    -0x30(%rsi),%eax
140e2a760:	3c 09                	cmp    $0x9,%al
140e2a762:	77 09                	ja     0x140e2a76d
140e2a764:	40 0f be c6          	movsbl %sil,%eax
140e2a768:	83 c0 d0             	add    $0xffffffd0,%eax
140e2a76b:	eb 1e                	jmp    0x140e2a78b
140e2a76d:	8d 46 9f             	lea    -0x61(%rsi),%eax
140e2a770:	3c 19                	cmp    $0x19,%al
140e2a772:	77 09                	ja     0x140e2a77d
140e2a774:	40 0f be c6          	movsbl %sil,%eax
140e2a778:	83 c0 a9             	add    $0xffffffa9,%eax
140e2a77b:	eb 0e                	jmp    0x140e2a78b
140e2a77d:	8d 46 bf             	lea    -0x41(%rsi),%eax
140e2a780:	3c 19                	cmp    $0x19,%al
140e2a782:	77 55                	ja     0x140e2a7d9
140e2a784:	40 0f be c6          	movsbl %sil,%eax
140e2a788:	83 c0 c9             	add    $0xffffffc9,%eax
140e2a78b:	85 c0                	test   %eax,%eax
140e2a78d:	75 4a                	jne    0x140e2a7d9
140e2a78f:	8a 11                	mov    (%rcx),%dl
140e2a791:	4c 8d 41 01          	lea    0x1(%rcx),%r8
140e2a795:	4c 89 03             	mov    %r8,(%rbx)
140e2a798:	8d 42 a8             	lea    -0x58(%rdx),%eax
140e2a79b:	a8 df                	test   $0xdf,%al
140e2a79d:	74 29                	je     0x140e2a7c8
140e2a79f:	85 ed                	test   %ebp,%ebp
140e2a7a1:	48 89 0b             	mov    %rcx,(%rbx)
140e2a7a4:	b8 08 00 00 00       	mov    $0x8,%eax
140e2a7a9:	0f 45 c5             	cmovne %ebp,%eax
140e2a7ac:	8b e8                	mov    %eax,%ebp
140e2a7ae:	84 d2                	test   %dl,%dl
140e2a7b0:	74 33                	je     0x140e2a7e5
140e2a7b2:	38 11                	cmp    %dl,(%rcx)
140e2a7b4:	74 2f                	je     0x140e2a7e5
140e2a7b6:	e8 35 fb ff ff       	call   0x140e2a2f0
140e2a7bb:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e2a7c1:	e8 be f9 ff ff       	call   0x140e2a184
140e2a7c6:	eb 1d                	jmp    0x140e2a7e5
140e2a7c8:	41 8a 30             	mov    (%r8),%sil
140e2a7cb:	49 8d 40 01          	lea    0x1(%r8),%rax
140e2a7cf:	48 89 03             	mov    %rax,(%rbx)
140e2a7d2:	b8 10 00 00 00       	mov    $0x10,%eax
140e2a7d7:	eb 05                	jmp    0x140e2a7de
140e2a7d9:	b8 0a 00 00 00       	mov    $0xa,%eax
140e2a7de:	85 ed                	test   %ebp,%ebp
140e2a7e0:	0f 45 c5             	cmovne %ebp,%eax
140e2a7e3:	8b e8                	mov    %eax,%ebp
140e2a7e5:	4c 8b 03             	mov    (%rbx),%r8
140e2a7e8:	33 d2                	xor    %edx,%edx
140e2a7ea:	83 c8 ff             	or     $0xffffffff,%eax
140e2a7ed:	f7 f5                	div    %ebp
140e2a7ef:	44 8b c8             	mov    %eax,%r9d
140e2a7f2:	8d 4e d0             	lea    -0x30(%rsi),%ecx
140e2a7f5:	80 f9 09             	cmp    $0x9,%cl
140e2a7f8:	77 09                	ja     0x140e2a803
140e2a7fa:	40 0f be ce          	movsbl %sil,%ecx
140e2a7fe:	83 c1 d0             	add    $0xffffffd0,%ecx
140e2a801:	eb 23                	jmp    0x140e2a826
140e2a803:	8d 46 9f             	lea    -0x61(%rsi),%eax
140e2a806:	3c 19                	cmp    $0x19,%al
140e2a808:	77 09                	ja     0x140e2a813
140e2a80a:	40 0f be ce          	movsbl %sil,%ecx
140e2a80e:	83 c1 a9             	add    $0xffffffa9,%ecx
140e2a811:	eb 13                	jmp    0x140e2a826
140e2a813:	8d 46 bf             	lea    -0x41(%rsi),%eax
140e2a816:	3c 19                	cmp    $0x19,%al
140e2a818:	77 09                	ja     0x140e2a823
140e2a81a:	40 0f be ce          	movsbl %sil,%ecx
140e2a81e:	83 c1 c9             	add    $0xffffffc9,%ecx
140e2a821:	eb 03                	jmp    0x140e2a826
140e2a823:	83 c9 ff             	or     $0xffffffff,%ecx
140e2a826:	3b cd                	cmp    %ebp,%ecx
140e2a828:	73 30                	jae    0x140e2a85a
140e2a82a:	41 8a 30             	mov    (%r8),%sil
140e2a82d:	41 8b c6             	mov    %r14d,%eax
140e2a830:	0f af c5             	imul   %ebp,%eax
140e2a833:	8d 14 08             	lea    (%rax,%rcx,1),%edx
140e2a836:	33 c9                	xor    %ecx,%ecx
140e2a838:	3b d0                	cmp    %eax,%edx
140e2a83a:	0f 92 c1             	setb   %cl
140e2a83d:	33 c0                	xor    %eax,%eax
140e2a83f:	45 3b f1             	cmp    %r9d,%r14d
140e2a842:	44 8b f2             	mov    %edx,%r14d
140e2a845:	0f 97 c0             	seta   %al
140e2a848:	0b c8                	or     %eax,%ecx
140e2a84a:	c1 e1 02             	shl    $0x2,%ecx
140e2a84d:	83 c9 08             	or     $0x8,%ecx
140e2a850:	0b f9                	or     %ecx,%edi
140e2a852:	49 ff c0             	inc    %r8
140e2a855:	4c 89 03             	mov    %r8,(%rbx)
140e2a858:	eb 98                	jmp    0x140e2a7f2
140e2a85a:	49 8d 40 ff          	lea    -0x1(%r8),%rax
140e2a85e:	48 89 03             	mov    %rax,(%rbx)
140e2a861:	40 84 f6             	test   %sil,%sil
140e2a864:	74 15                	je     0x140e2a87b
140e2a866:	40 38 30             	cmp    %sil,(%rax)
140e2a869:	74 10                	je     0x140e2a87b
140e2a86b:	e8 80 fa ff ff       	call   0x140e2a2f0
140e2a870:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e2a876:	e8 09 f9 ff ff       	call   0x140e2a184
140e2a87b:	40 f6 c7 08          	test   $0x8,%dil
140e2a87f:	75 16                	jne    0x140e2a897
140e2a881:	48 8b 43 08          	mov    0x8(%rbx),%rax
140e2a885:	4c 89 23             	mov    %r12,(%rbx)
140e2a888:	48 85 c0             	test   %rax,%rax
140e2a88b:	74 03                	je     0x140e2a890
140e2a88d:	4c 89 20             	mov    %r12,(%rax)
140e2a890:	33 c0                	xor    %eax,%eax
140e2a892:	e9 93 00 00 00       	jmp    0x140e2a92a
140e2a897:	41 b8 00 00 00 80    	mov    $0x80000000,%r8d
140e2a89d:	45 8d 48 ff          	lea    -0x1(%r8),%r9d
140e2a8a1:	40 f6 c7 04          	test   $0x4,%dil
140e2a8a5:	74 09                	je     0x140e2a8b0
140e2a8a7:	b8 01 00 00 00       	mov    $0x1,%eax
140e2a8ac:	8b cf                	mov    %edi,%ecx
140e2a8ae:	eb 1e                	jmp    0x140e2a8ce
140e2a8b0:	40 f6 c7 01          	test   $0x1,%dil
140e2a8b4:	74 5a                	je     0x140e2a910
140e2a8b6:	41 84 ff             	test   %dil,%r15b
140e2a8b9:	74 07                	je     0x140e2a8c2
140e2a8bb:	45 3b f0             	cmp    %r8d,%r14d
140e2a8be:	76 55                	jbe    0x140e2a915
140e2a8c0:	eb 05                	jmp    0x140e2a8c7
140e2a8c2:	45 3b f1             	cmp    %r9d,%r14d
140e2a8c5:	76 51                	jbe    0x140e2a918
140e2a8c7:	b9 01 00 00 00       	mov    $0x1,%ecx
140e2a8cc:	8b c7                	mov    %edi,%eax
140e2a8ce:	41 23 ff             	and    %r15d,%edi
140e2a8d1:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
140e2a8d6:	41 c7 45 2c 22 00 00 	movl   $0x22,0x2c(%r13)
140e2a8dd:	00
140e2a8de:	85 c8                	test   %ecx,%eax
140e2a8e0:	75 06                	jne    0x140e2a8e8
140e2a8e2:	41 83 ce ff          	or     $0xffffffff,%r14d
140e2a8e6:	eb 30                	jmp    0x140e2a918
140e2a8e8:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140e2a8ec:	85 ff                	test   %edi,%edi
140e2a8ee:	74 10                	je     0x140e2a900
140e2a8f0:	48 85 d2             	test   %rdx,%rdx
140e2a8f3:	74 06                	je     0x140e2a8fb
140e2a8f5:	48 8b 0b             	mov    (%rbx),%rcx
140e2a8f8:	48 89 0a             	mov    %rcx,(%rdx)
140e2a8fb:	41 8b c0             	mov    %r8d,%eax
140e2a8fe:	eb 2a                	jmp    0x140e2a92a
140e2a900:	48 85 d2             	test   %rdx,%rdx
140e2a903:	74 06                	je     0x140e2a90b
140e2a905:	48 8b 0b             	mov    (%rbx),%rcx
140e2a908:	48 89 0a             	mov    %rcx,(%rdx)
140e2a90b:	41 8b c1             	mov    %r9d,%eax
140e2a90e:	eb 1a                	jmp    0x140e2a92a
140e2a910:	41 84 ff             	test   %dil,%r15b
140e2a913:	74 03                	je     0x140e2a918
140e2a915:	41 f7 de             	neg    %r14d
140e2a918:	48 8b 43 08          	mov    0x8(%rbx),%rax
140e2a91c:	48 85 c0             	test   %rax,%rax
140e2a91f:	74 06                	je     0x140e2a927
140e2a921:	48 8b 0b             	mov    (%rbx),%rcx
140e2a924:	48 89 08             	mov    %rcx,(%rax)
140e2a927:	41 8b c6             	mov    %r14d,%eax
140e2a92a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e2a92f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140e2a934:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140e2a939:	48 83 c4 30          	add    $0x30,%rsp
140e2a93d:	41 5f                	pop    %r15
140e2a93f:	41 5e                	pop    %r14
140e2a941:	41 5d                	pop    %r13
140e2a943:	41 5c                	pop    %r12
140e2a945:	5f                   	pop    %rdi
140e2a946:	c3                   	ret
140e2a947:	cc                   	int3
140e2a948:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e2a94d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140e2a952:	55                   	push   %rbp
140e2a953:	56                   	push   %rsi
140e2a954:	57                   	push   %rdi
140e2a955:	41 54                	push   %r12
140e2a957:	41 55                	push   %r13
140e2a959:	41 56                	push   %r14