14001b586:	41 8b ca             	mov    %r10d,%ecx
14001b589:	d3 e7                	shl    %cl,%edi
14001b58b:	44 0b c7             	or     %edi,%r8d
14001b58e:	46 89 84 9d 64 01 00 	mov    %r8d,0x164(%rbp,%r11,4)
14001b595:	00
14001b596:	44 03 da             	add    %edx,%r11d
14001b599:	45 3b dc             	cmp    %r12d,%r11d
14001b59c:	74 09                	je     0x14001b5a7
14001b59e:	44 8b bd 60 01 00 00 	mov    0x160(%rbp),%r15d
14001b5a5:	eb a9                	jmp    0x14001b550
14001b5a7:	8b 54 24 38          	mov    0x38(%rsp),%edx
14001b5ab:	8b 5c 24 34          	mov    0x34(%rsp),%ebx
14001b5af:	8b 7c 24 3c          	mov    0x3c(%rsp),%edi
14001b5b3:	33 c9                	xor    %ecx,%ecx
14001b5b5:	45 85 c9             	test   %r9d,%r9d
14001b5b8:	74 0f                	je     0x14001b5c9
14001b5ba:	83 a4 8d 64 01 00 00 	andl   $0x0,0x164(%rbp,%rcx,4)
14001b5c1:	00
14001b5c2:	ff c1                	inc    %ecx
14001b5c4:	41 3b c9             	cmp    %r9d,%ecx
14001b5c7:	75 f1                	jne    0x14001b5ba
14001b5c9:	89 95 60 01 00 00    	mov    %edx,0x160(%rbp)
14001b5cf:	48 8d 95 00 05 00 00 	lea    0x500(%rbp),%rdx
14001b5d6:	48 8d 8d 60 01 00 00 	lea    0x160(%rbp),%rcx
14001b5dd:	e8 ce 01 00 00       	call   0x14001b7b0
14001b5e2:	83 bd 60 01 00 00 00 	cmpl   $0x0,0x160(%rbp)
14001b5e9:	48 8b d0             	mov    %rax,%rdx
14001b5ec:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14001b5f1:	41 0f 94 c1          	sete   %r9b
14001b5f5:	48 3b d0             	cmp    %rax,%rdx
14001b5f8:	76 17                	jbe    0x14001b611
14001b5fa:	48 8b ca             	mov    %rdx,%rcx
14001b5fd:	48 c1 e9 20          	shr    $0x20,%rcx
14001b601:	0f bd c9             	bsr    %ecx,%ecx
14001b604:	74 04                	je     0x14001b60a
14001b606:	ff c1                	inc    %ecx
14001b608:	eb 02                	jmp    0x14001b60c
14001b60a:	33 c9                	xor    %ecx,%ecx
14001b60c:	83 c1 20             	add    $0x20,%ecx
14001b60f:	eb 0b                	jmp    0x14001b61c
14001b611:	0f bd ca             	bsr    %edx,%ecx
14001b614:	74 04                	je     0x14001b61a
14001b616:	ff c1                	inc    %ecx
14001b618:	eb 02                	jmp    0x14001b61c
14001b61a:	33 c9                	xor    %ecx,%ecx
14001b61c:	8b 74 24 50          	mov    0x50(%rsp),%esi
14001b620:	3b ce                	cmp    %esi,%ecx
14001b622:	76 22                	jbe    0x14001b646
14001b624:	2b ce                	sub    %esi,%ecx
14001b626:	45 84 c9             	test   %r9b,%r9b
14001b629:	74 15                	je     0x14001b640
14001b62b:	b8 01 00 00 00       	mov    $0x1,%eax
14001b630:	48 d3 e0             	shl    %cl,%rax
14001b633:	48 ff c8             	dec    %rax
14001b636:	48 85 c2             	test   %rax,%rdx
14001b639:	75 05                	jne    0x14001b640
14001b63b:	41 b1 01             	mov    $0x1,%r9b
14001b63e:	eb 03                	jmp    0x14001b643
14001b640:	45 32 c9             	xor    %r9b,%r9b
14001b643:	48 d3 ea             	shr    %cl,%rdx
14001b646:	45 33 db             	xor    %r11d,%r11d
14001b649:	8d 47 fe             	lea    -0x2(%rdi),%eax
14001b64c:	45 85 f6             	test   %r14d,%r14d
14001b64f:	8b ce                	mov    %esi,%ecx
14001b651:	f7 d3                	not    %ebx
14001b653:	44 0f 45 9d 34 03 00 	cmovne 0x334(%rbp),%r11d
14001b65a:	00
14001b65b:	45 33 c0             	xor    %r8d,%r8d
14001b65e:	41 83 fe 01          	cmp    $0x1,%r14d
14001b662:	44 0f 47 85 38 03 00 	cmova  0x338(%rbp),%r8d
14001b669:	00
14001b66a:	85 ff                	test   %edi,%edi
14001b66c:	45 8b d0             	mov    %r8d,%r10d
14001b66f:	0f 45 d8             	cmovne %eax,%ebx
14001b672:	49 c1 e2 20          	shl    $0x20,%r10
14001b676:	41 8b c3             	mov    %r11d,%eax
14001b679:	4c 03 d0             	add    %rax,%r10
14001b67c:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
14001b681:	49 d3 e2             	shl    %cl,%r10
14001b684:	44 8a 80 08 03 00 00 	mov    0x308(%rax),%r8b
14001b68b:	4a 8d 0c 12          	lea    (%rdx,%r10,1),%rcx
14001b68f:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
14001b694:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14001b699:	8b d3                	mov    %ebx,%edx
14001b69b:	e8 cc dc ff ff       	call   0x14001936c
14001b6a0:	eb 2a                	jmp    0x14001b6cc
14001b6a2:	85 c0                	test   %eax,%eax
14001b6a4:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
14001b6a9:	41 0f 95 c1          	setne  %r9b
14001b6ad:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14001b6b2:	8b d1                	mov    %ecx,%edx
14001b6b4:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
14001b6b9:	48 8d 8d 30 03 00 00 	lea    0x330(%rbp),%rcx
14001b6c0:	44 8a 80 08 03 00 00 	mov    0x308(%rax),%r8b
14001b6c7:	e8 4c e0 ff ff       	call   0x140019718
14001b6cc:	48 8b 8d 70 0a 00 00 	mov    0xa70(%rbp),%rcx
14001b6d3:	48 33 cc             	xor    %rsp,%rcx
14001b6d6:	e8 c5 dc fe ff       	call   0x1400093a0
14001b6db:	48 8b 9c 24 d0 0b 00 	mov    0xbd0(%rsp),%rbx
14001b6e2:	00
14001b6e3:	48 81 c4 80 0b 00 00 	add    $0xb80,%rsp
14001b6ea:	41 5f                	pop    %r15
14001b6ec:	41 5e                	pop    %r14
14001b6ee:	41 5d                	pop    %r13
14001b6f0:	41 5c                	pop    %r12
14001b6f2:	5f                   	pop    %rdi
14001b6f3:	5e                   	pop    %rsi
14001b6f4:	5d                   	pop    %rbp
14001b6f5:	c3                   	ret
14001b6f6:	cc                   	int3
14001b6f7:	cc                   	int3
14001b6f8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14001b6fd:	57                   	push   %rdi
14001b6fe:	48 83 ec 30          	sub    $0x30,%rsp
14001b702:	44 8a 4a 08          	mov    0x8(%rdx),%r9b
14001b706:	48 8b d9             	mov    %rcx,%rbx
14001b709:	41 8a c1             	mov    %r9b,%al
14001b70c:	33 c9                	xor    %ecx,%ecx
14001b70e:	f6 d8                	neg    %al
14001b710:	48 8b fa             	mov    %rdx,%rdi
14001b713:	8b 43 04             	mov    0x4(%rbx),%eax
14001b716:	4c 8d 5b 08          	lea    0x8(%rbx),%r11
14001b71a:	45 1b d2             	sbb    %r10d,%r10d
14001b71d:	4c 8d 43 08          	lea    0x8(%rbx),%r8
14001b721:	41 83 e2 1d          	and    $0x1d,%r10d
14001b725:	4c 03 d8             	add    %rax,%r11
14001b728:	41 83 c2 17          	add    $0x17,%r10d
14001b72c:	44 03 13             	add    (%rbx),%r10d
14001b72f:	4d 3b c3             	cmp    %r11,%r8
14001b732:	74 36                	je     0x14001b76a
14001b734:	41 f6 d9             	neg    %r9b
14001b737:	48 b8 00 00 00 ff ff 	movabs $0x1fffffff000000,%rax
14001b73e:	ff 1f 00
14001b741:	48 1b d2             	sbb    %rdx,%rdx
14001b744:	48 23 d0             	and    %rax,%rdx
14001b747:	48 81 c2 ff ff ff 00 	add    $0xffffff,%rdx
14001b74e:	48 3b ca             	cmp    %rdx,%rcx
14001b751:	77 17                	ja     0x14001b76a
14001b753:	41 0f b6 00          	movzbl (%r8),%eax
14001b757:	41 83 ea 04          	sub    $0x4,%r10d
14001b75b:	48 c1 e1 04          	shl    $0x4,%rcx
14001b75f:	49 ff c0             	inc    %r8
14001b762:	48 03 c8             	add    %rax,%rcx
14001b765:	4d 3b c3             	cmp    %r11,%r8
14001b768:	75 e4                	jne    0x14001b74e
14001b76a:	41 b1 01             	mov    $0x1,%r9b
14001b76d:	eb 11                	jmp    0x14001b780
14001b76f:	45 84 c9             	test   %r9b,%r9b
14001b772:	74 11                	je     0x14001b785
14001b774:	41 8a 00             	mov    (%r8),%al
14001b777:	49 ff c0             	inc    %r8
14001b77a:	84 c0                	test   %al,%al
14001b77c:	41 0f 94 c1          	sete   %r9b
14001b780:	4d 3b c3             	cmp    %r11,%r8
14001b783:	75 ea                	jne    0x14001b76f
14001b785:	44 8a 83 08 03 00 00 	mov    0x308(%rbx),%r8b
14001b78c:	41 8b d2             	mov    %r10d,%edx
14001b78f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14001b794:	e8 d3 db ff ff       	call   0x14001936c
14001b799:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14001b79e:	48 83 c4 30          	add    $0x30,%rsp
14001b7a2:	5f                   	pop    %rdi
14001b7a3:	c3                   	ret
14001b7a4:	cc                   	int3
14001b7a5:	cc                   	int3
14001b7a6:	cc                   	int3
14001b7a7:	cc                   	int3
14001b7a8:	cc                   	int3
14001b7a9:	cc                   	int3
14001b7aa:	cc                   	int3
14001b7ab:	cc                   	int3
14001b7ac:	cc                   	int3
14001b7ad:	cc                   	int3
14001b7ae:	cc                   	int3
14001b7af:	cc                   	int3
14001b7b0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14001b7b5:	53                   	push   %rbx
14001b7b6:	55                   	push   %rbp
14001b7b7:	56                   	push   %rsi
14001b7b8:	57                   	push   %rdi
14001b7b9:	41 54                	push   %r12
14001b7bb:	41 56                	push   %r14
14001b7bd:	41 57                	push   %r15
14001b7bf:	48 81 ec 20 02 00 00 	sub    $0x220,%rsp
14001b7c6:	44 8b 11             	mov    (%rcx),%r10d
14001b7c9:	4c 8b fa             	mov    %rdx,%r15
14001b7cc:	48 8b f1             	mov    %rcx,%rsi
14001b7cf:	45 85 d2             	test   %r10d,%r10d
14001b7d2:	0f 84 60 04 00 00    	je     0x14001bc38
14001b7d8:	8b 3a                	mov    (%rdx),%edi
14001b7da:	85 ff                	test   %edi,%edi
14001b7dc:	0f 84 56 04 00 00    	je     0x14001bc38
14001b7e2:	41 ff ca             	dec    %r10d
14001b7e5:	8d 6f ff             	lea    -0x1(%rdi),%ebp
14001b7e8:	85 ed                	test   %ebp,%ebp
14001b7ea:	0f 85 fb 00 00 00    	jne    0x14001b8eb
14001b7f0:	44 8b 62 04          	mov    0x4(%rdx),%r12d
14001b7f4:	33 ed                	xor    %ebp,%ebp
14001b7f6:	41 83 fc 01          	cmp    $0x1,%r12d
14001b7fa:	75 26                	jne    0x14001b822
14001b7fc:	8b 59 04             	mov    0x4(%rcx),%ebx
14001b7ff:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14001b804:	48 83 c1 04          	add    $0x4,%rcx
14001b808:	89 2e                	mov    %ebp,(%rsi)
14001b80a:	45 33 c9             	xor    %r9d,%r9d
14001b80d:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14001b811:	ba cc 01 00 00       	mov    $0x1cc,%edx
14001b816:	e8 51 10 00 00       	call   0x14001c86c
14001b81b:	8b c3                	mov    %ebx,%eax
14001b81d:	e9 18 04 00 00       	jmp    0x14001bc3a
14001b822:	45 85 d2             	test   %r10d,%r10d
14001b825:	75 3d                	jne    0x14001b864
14001b827:	8b 79 04             	mov    0x4(%rcx),%edi
14001b82a:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14001b82f:	89 29                	mov    %ebp,(%rcx)
14001b831:	45 33 c9             	xor    %r9d,%r9d
14001b834:	48 83 c1 04          	add    $0x4,%rcx
14001b838:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14001b83c:	ba cc 01 00 00       	mov    $0x1cc,%edx
14001b841:	e8 26 10 00 00       	call   0x14001c86c
14001b846:	33 d2                	xor    %edx,%edx
14001b848:	8b c7                	mov    %edi,%eax
14001b84a:	41 f7 f4             	div    %r12d
14001b84d:	8b c7                	mov    %edi,%eax
14001b84f:	85 d2                	test   %edx,%edx
14001b851:	89 56 04             	mov    %edx,0x4(%rsi)
14001b854:	40 0f 95 c5          	setne  %bpl
14001b858:	33 d2                	xor    %edx,%edx
14001b85a:	41 f7 f4             	div    %r12d
14001b85d:	89 2e                	mov    %ebp,(%rsi)
14001b85f:	e9 d6 03 00 00       	jmp    0x14001bc3a
14001b864:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
14001b86a:	4c 8b f5             	mov    %rbp,%r14
14001b86d:	48 8b fd             	mov    %rbp,%rdi
14001b870:	45 3b d7             	cmp    %r15d,%r10d
14001b873:	74 3b                	je     0x14001b8b0
14001b875:	4d 8b cc             	mov    %r12,%r9
14001b878:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14001b87f:	00
14001b880:	46 8b 44 96 04       	mov    0x4(%rsi,%r10,4),%r8d
14001b885:	33 d2                	xor    %edx,%edx
14001b887:	48 c1 e7 20          	shl    $0x20,%rdi
14001b88b:	45 03 d7             	add    %r15d,%r10d
14001b88e:	4c 0b c7             	or     %rdi,%r8
14001b891:	49 c1 e6 20          	shl    $0x20,%r14
14001b895:	49 8b c0             	mov    %r8,%rax
14001b898:	49 f7 f1             	div    %r9
14001b89b:	33 d2                	xor    %edx,%edx
14001b89d:	8b c8                	mov    %eax,%ecx
14001b89f:	49 8b c0             	mov    %r8,%rax
14001b8a2:	49 f7 f1             	div    %r9
14001b8a5:	4c 03 f1             	add    %rcx,%r14
14001b8a8:	48 8b fa             	mov    %rdx,%rdi
14001b8ab:	45 3b d7             	cmp    %r15d,%r10d
14001b8ae:	75 d0                	jne    0x14001b880
14001b8b0:	45 33 c9             	xor    %r9d,%r9d
14001b8b3:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14001b8b7:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14001b8bc:	89 2e                	mov    %ebp,(%rsi)
14001b8be:	ba cc 01 00 00       	mov    $0x1cc,%edx
14001b8c3:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
14001b8c7:	e8 a0 0f 00 00       	call   0x14001c86c
14001b8cc:	48 8b cf             	mov    %rdi,%rcx
14001b8cf:	89 7e 04             	mov    %edi,0x4(%rsi)
14001b8d2:	48 c1 e9 20          	shr    $0x20,%rcx
14001b8d6:	49 8b c6             	mov    %r14,%rax
14001b8d9:	85 c9                	test   %ecx,%ecx
14001b8db:	89 4e 08             	mov    %ecx,0x8(%rsi)
14001b8de:	40 0f 95 c5          	setne  %bpl
14001b8e2:	ff c5                	inc    %ebp
14001b8e4:	89 2e                	mov    %ebp,(%rsi)
14001b8e6:	e9 4f 03 00 00       	jmp    0x14001bc3a
14001b8eb:	41 3b ea             	cmp    %r10d,%ebp
14001b8ee:	0f 87 44 03 00 00    	ja     0x14001bc38
14001b8f4:	45 8b c2             	mov    %r10d,%r8d
14001b8f7:	49 63 d2             	movslq %r10d,%rdx
14001b8fa:	44 2b c5             	sub    %ebp,%r8d
14001b8fd:	45 8b ca             	mov    %r10d,%r9d
14001b900:	49 63 d8             	movslq %r8d,%rbx
14001b903:	48 3b d3             	cmp    %rbx,%rdx
14001b906:	7c 49                	jl     0x14001b951
14001b908:	48 83 c1 04          	add    $0x4,%rcx
14001b90c:	48 8d 04 9d 00 00 00 	lea    0x0(,%rbx,4),%rax
14001b913:	00
14001b914:	4d 8b df             	mov    %r15,%r11
14001b917:	4c 2b d8             	sub    %rax,%r11
14001b91a:	4c 2b de             	sub    %rsi,%r11
14001b91d:	48 8d 0c 91          	lea    (%rcx,%rdx,4),%rcx
14001b921:	8b 01                	mov    (%rcx),%eax
14001b923:	41 39 04 0b          	cmp    %eax,(%r11,%rcx,1)
14001b927:	75 11                	jne    0x14001b93a
14001b929:	41 ff c9             	dec    %r9d
14001b92c:	48 ff ca             	dec    %rdx
14001b92f:	48 83 e9 04          	sub    $0x4,%rcx
14001b933:	48 3b d3             	cmp    %rbx,%rdx
14001b936:	7d e9                	jge    0x14001b921
14001b938:	eb 17                	jmp    0x14001b951
14001b93a:	41 8b c1             	mov    %r9d,%eax
14001b93d:	41 2b c0             	sub    %r8d,%eax
14001b940:	48 63 d0             	movslq %eax,%rdx
14001b943:	49 63 c1             	movslq %r9d,%rax
14001b946:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
14001b94a:	41 39 4c 97 04       	cmp    %ecx,0x4(%r15,%rdx,4)
14001b94f:	73 03                	jae    0x14001b954
14001b951:	41 ff c0             	inc    %r8d
14001b954:	45 85 c0             	test   %r8d,%r8d
14001b957:	0f 84 db 02 00 00    	je     0x14001bc38
14001b95d:	45 8b 4c af 04       	mov    0x4(%r15,%rbp,4),%r9d
14001b962:	8d 47 fe             	lea    -0x2(%rdi),%eax
14001b965:	45 8b 5c 87 04       	mov    0x4(%r15,%rax,4),%r11d
14001b96a:	33 ed                	xor    %ebp,%ebp
14001b96c:	41 0f bd c1          	bsr    %r9d,%eax
14001b970:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
14001b977:	00
14001b978:	74 1e                	je     0x14001b998
14001b97a:	bb 1f 00 00 00       	mov    $0x1f,%ebx
14001b97f:	41 be 20 00 00 00    	mov    $0x20,%r14d
14001b985:	2b d8                	sub    %eax,%ebx
14001b987:	44 2b f3             	sub    %ebx,%r14d
14001b98a:	44 89 b4 24 60 02 00 	mov    %r14d,0x260(%rsp)
14001b991:	00
14001b992:	85 db                	test   %ebx,%ebx
14001b994:	74 4e                	je     0x14001b9e4
14001b996:	eb 0f                	jmp    0x14001b9a7
14001b998:	bb 20 00 00 00       	mov    $0x20,%ebx
14001b99d:	89 ac 24 60 02 00 00 	mov    %ebp,0x260(%rsp)
14001b9a4:	44 8b f5             	mov    %ebp,%r14d
14001b9a7:	41 8b c1             	mov    %r9d,%eax
14001b9aa:	41 8b d3             	mov    %r11d,%edx
14001b9ad:	41 8b ce             	mov    %r14d,%ecx
14001b9b0:	d3 ea                	shr    %cl,%edx
14001b9b2:	8b cb                	mov    %ebx,%ecx
14001b9b4:	d3 e0                	shl    %cl,%eax
14001b9b6:	44 8b ca             	mov    %edx,%r9d
14001b9b9:	41 d3 e3             	shl    %cl,%r11d
14001b9bc:	44 0b c8             	or     %eax,%r9d
14001b9bf:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
14001b9c6:	00
14001b9c7:	83 ff 02             	cmp    $0x2,%edi
14001b9ca:	76 18                	jbe    0x14001b9e4
14001b9cc:	8d 47 fd             	lea    -0x3(%rdi),%eax
14001b9cf:	41 8b ce             	mov    %r14d,%ecx
14001b9d2:	41 8b 44 87 04       	mov    0x4(%r15,%rax,4),%eax
14001b9d7:	d3 e8                	shr    %cl,%eax
14001b9d9:	44 0b d8             	or     %eax,%r11d
14001b9dc:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
14001b9e3:	00
14001b9e4:	45 8d 60 ff          	lea    -0x1(%r8),%r12d
14001b9e8:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
14001b9ed:	4c 8b dd             	mov    %rbp,%r11