18010b659:	57                   	push   %rdi
18010b65a:	48 83 ec 20          	sub    $0x20,%rsp
18010b65e:	48 8b f9             	mov    %rcx,%rdi
18010b661:	b9 52 00 00 00       	mov    $0x52,%ecx
18010b666:	e8 a5 0f 00 00       	call   0x18010c610
18010b66b:	48 8b d8             	mov    %rax,%rbx
18010b66e:	48 85 c0             	test   %rax,%rax
18010b671:	75 07                	jne    0x18010b67a
18010b673:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
18010b678:	eb 23                	jmp    0x18010b69d
18010b67a:	33 d2                	xor    %edx,%edx
18010b67c:	48 8b cb             	mov    %rbx,%rcx
18010b67f:	44 8d 42 52          	lea    0x52(%rdx),%r8d
18010b683:	e8 f8 a5 02 00       	call   0x180135c80
18010b688:	48 8d 43 42          	lea    0x42(%rbx),%rax
18010b68c:	48 89 1f             	mov    %rbx,(%rdi)
18010b68f:	48 89 43 32          	mov    %rax,0x32(%rbx)
18010b693:	48 83 c0 08          	add    $0x8,%rax
18010b697:	48 89 43 3a          	mov    %rax,0x3a(%rbx)
18010b69b:	33 c0                	xor    %eax,%eax
18010b69d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18010b6a2:	48 83 c4 20          	add    $0x20,%rsp
18010b6a6:	5f                   	pop    %rdi
18010b6a7:	c3                   	ret
18010b6a8:	cc                   	int3
18010b6a9:	cc                   	int3
18010b6aa:	cc                   	int3
18010b6ab:	cc                   	int3
18010b6ac:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18010b6b1:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18010b6b6:	56                   	push   %rsi
18010b6b7:	57                   	push   %rdi
18010b6b8:	41 56                	push   %r14
18010b6ba:	48 83 ec 30          	sub    $0x30,%rsp
18010b6be:	8b fa                	mov    %edx,%edi
18010b6c0:	33 db                	xor    %ebx,%ebx
18010b6c2:	8b 51 3c             	mov    0x3c(%rcx),%edx
18010b6c5:	4d 8b f1             	mov    %r9,%r14
18010b6c8:	49 8b e8             	mov    %r8,%rbp
18010b6cb:	48 8b f1             	mov    %rcx,%rsi
18010b6ce:	85 d2                	test   %edx,%edx
18010b6d0:	75 0a                	jne    0x18010b6dc
18010b6d2:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
18010b6d7:	e9 91 00 00 00       	jmp    0x18010b76d
18010b6dc:	83 ff ff             	cmp    $0xffffffff,%edi
18010b6df:	75 44                	jne    0x18010b725
18010b6e1:	48 8b 54 24 70       	mov    0x70(%rsp),%rdx
18010b6e6:	be 52 00 00 00       	mov    $0x52,%esi
18010b6eb:	8b ce                	mov    %esi,%ecx
18010b6ed:	e8 1e 0f 00 00       	call   0x18010c610
18010b6f2:	48 8b f8             	mov    %rax,%rdi
18010b6f5:	48 85 c0             	test   %rax,%rax
18010b6f8:	75 07                	jne    0x18010b701
18010b6fa:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18010b6ff:	eb 20                	jmp    0x18010b721
18010b701:	4c 8b c6             	mov    %rsi,%r8
18010b704:	33 d2                	xor    %edx,%edx
18010b706:	48 8b cf             	mov    %rdi,%rcx
18010b709:	e8 72 a5 02 00       	call   0x180135c80
18010b70e:	48 8d 4f 42          	lea    0x42(%rdi),%rcx
18010b712:	49 89 3e             	mov    %rdi,(%r14)
18010b715:	48 89 4f 32          	mov    %rcx,0x32(%rdi)
18010b719:	48 83 c1 08          	add    $0x8,%rcx
18010b71d:	48 89 4f 3a          	mov    %rcx,0x3a(%rdi)
18010b721:	8b c3                	mov    %ebx,%eax
18010b723:	eb 48                	jmp    0x18010b76d
18010b725:	48 8b 41 10          	mov    0x10(%rcx),%rax
18010b729:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
18010b72e:	03 d7                	add    %edi,%edx
18010b730:	8b 48 10             	mov    0x10(%rax),%ecx
18010b733:	66 89 5c 24 50       	mov    %bx,0x50(%rsp)
18010b738:	e8 5f 10 00 00       	call   0x18010c79c
18010b73d:	8b d7                	mov    %edi,%edx
18010b73f:	48 8b ce             	mov    %rsi,%rcx
18010b742:	66 39 5c 24 50       	cmp    %bx,0x50(%rsp)
18010b747:	7d 17                	jge    0x18010b760
18010b749:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
18010b74e:	4d 8b ce             	mov    %r14,%r9
18010b751:	4c 8b c5             	mov    %rbp,%r8
18010b754:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18010b759:	e8 f6 fc ff ff       	call   0x18010b454
18010b75e:	eb 0d                	jmp    0x18010b76d
18010b760:	4c 8b 4c 24 70       	mov    0x70(%rsp),%r9
18010b765:	4d 8b c6             	mov    %r14,%r8
18010b768:	e8 63 f6 ff ff       	call   0x18010add0
18010b76d:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
18010b772:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
18010b777:	48 83 c4 30          	add    $0x30,%rsp
18010b77b:	41 5e                	pop    %r14
18010b77d:	5f                   	pop    %rdi
18010b77e:	5e                   	pop    %rsi
18010b77f:	c3                   	ret
18010b780:	cc                   	int3
18010b781:	cc                   	int3
18010b782:	cc                   	int3
18010b783:	cc                   	int3
18010b784:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18010b789:	55                   	push   %rbp
18010b78a:	56                   	push   %rsi
18010b78b:	57                   	push   %rdi
18010b78c:	48 83 ec 20          	sub    $0x20,%rsp
18010b790:	33 ed                	xor    %ebp,%ebp
18010b792:	49 8b d8             	mov    %r8,%rbx
18010b795:	48 8b f9             	mov    %rcx,%rdi
18010b798:	66 39 69 4c          	cmp    %bp,0x4c(%rcx)
18010b79c:	75 4b                	jne    0x18010b7e9
18010b79e:	8b 41 48             	mov    0x48(%rcx),%eax
18010b7a1:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
18010b7a6:	8d 34 50             	lea    (%rax,%rdx,2),%esi
18010b7a9:	48 8b 41 10          	mov    0x10(%rcx),%rax
18010b7ad:	8b d6                	mov    %esi,%edx
18010b7af:	8b 48 10             	mov    0x10(%rax),%ecx
18010b7b2:	e8 e5 0f 00 00       	call   0x18010c79c
18010b7b7:	85 c0                	test   %eax,%eax
18010b7b9:	0f 88 80 00 00 00    	js     0x18010b83f
18010b7bf:	0f b7 44 24 40       	movzwl 0x40(%rsp),%eax
18010b7c4:	8d 56 02             	lea    0x2(%rsi),%edx
18010b7c7:	03 c0                	add    %eax,%eax
18010b7c9:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
18010b7ce:	89 03                	mov    %eax,(%rbx)
18010b7d0:	48 8b 47 10          	mov    0x10(%rdi),%rax
18010b7d4:	8b 48 10             	mov    0x10(%rax),%ecx
18010b7d7:	e8 c0 0f 00 00       	call   0x18010c79c
18010b7dc:	85 c0                	test   %eax,%eax
18010b7de:	78 5f                	js     0x18010b83f
18010b7e0:	0f b7 44 24 40       	movzwl 0x40(%rsp),%eax
18010b7e5:	03 c0                	add    %eax,%eax
18010b7e7:	eb 46                	jmp    0x18010b82f
18010b7e9:	66 83 79 4c 01       	cmpw   $0x1,0x4c(%rcx)
18010b7ee:	75 4a                	jne    0x18010b83a
18010b7f0:	8b 41 48             	mov    0x48(%rcx),%eax
18010b7f3:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
18010b7f8:	8d 34 90             	lea    (%rax,%rdx,4),%esi
18010b7fb:	48 8b 41 10          	mov    0x10(%rcx),%rax
18010b7ff:	8b d6                	mov    %esi,%edx
18010b801:	8b 48 10             	mov    0x10(%rax),%ecx
18010b804:	e8 57 0f 00 00       	call   0x18010c760
18010b809:	85 c0                	test   %eax,%eax
18010b80b:	78 32                	js     0x18010b83f
18010b80d:	8b 44 24 58          	mov    0x58(%rsp),%eax
18010b811:	8d 56 04             	lea    0x4(%rsi),%edx
18010b814:	89 03                	mov    %eax,(%rbx)
18010b816:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
18010b81b:	48 8b 47 10          	mov    0x10(%rdi),%rax
18010b81f:	8b 48 10             	mov    0x10(%rax),%ecx
18010b822:	e8 39 0f 00 00       	call   0x18010c760
18010b827:	85 c0                	test   %eax,%eax
18010b829:	78 14                	js     0x18010b83f
18010b82b:	8b 44 24 58          	mov    0x58(%rsp),%eax
18010b82f:	39 03                	cmp    %eax,(%rbx)
18010b831:	75 03                	jne    0x18010b836
18010b833:	83 0b ff             	orl    $0xffffffff,(%rbx)
18010b836:	33 c0                	xor    %eax,%eax
18010b838:	eb 05                	jmp    0x18010b83f
18010b83a:	b8 7b 00 00 c0       	mov    $0xc000007b,%eax
18010b83f:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
18010b844:	48 83 c4 20          	add    $0x20,%rsp
18010b848:	5f                   	pop    %rdi
18010b849:	5e                   	pop    %rsi
18010b84a:	5d                   	pop    %rbp
18010b84b:	c3                   	ret
18010b84c:	cc                   	int3
18010b84d:	cc                   	int3
18010b84e:	cc                   	int3
18010b84f:	cc                   	int3
18010b850:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18010b855:	55                   	push   %rbp
18010b856:	56                   	push   %rsi
18010b857:	57                   	push   %rdi
18010b858:	41 54                	push   %r12
18010b85a:	41 55                	push   %r13
18010b85c:	41 56                	push   %r14
18010b85e:	41 57                	push   %r15
18010b860:	48 83 ec 50          	sub    $0x50,%rsp
18010b864:	4c 8b 59 18          	mov    0x18(%rcx),%r11
18010b868:	45 33 e4             	xor    %r12d,%r12d
18010b86b:	4d 8b e9             	mov    %r9,%r13
18010b86e:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
18010b873:	41 8b dc             	mov    %r12d,%ebx
18010b876:	4d 8b f8             	mov    %r8,%r15
18010b879:	48 8b e9             	mov    %rcx,%rbp
18010b87c:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
18010b881:	45 8d 4c 24 01       	lea    0x1(%r12),%r9d
18010b886:	45 8b d4             	mov    %r12d,%r10d
18010b889:	44 89 4c 24 30       	mov    %r9d,0x30(%rsp)
18010b88e:	45 39 23             	cmp    %r12d,(%r11)
18010b891:	76 20                	jbe    0x18010b8b3
18010b893:	4d 8b 43 10          	mov    0x10(%r11),%r8
18010b897:	41 8b ca             	mov    %r10d,%ecx
18010b89a:	66 41 39 14 48       	cmp    %dx,(%r8,%rcx,2)
18010b89f:	77 0a                	ja     0x18010b8ab
18010b8a1:	49 8b 43 18          	mov    0x18(%r11),%rax
18010b8a5:	66 3b 14 48          	cmp    (%rax,%rcx,2),%dx
18010b8a9:	76 08                	jbe    0x18010b8b3
18010b8ab:	45 03 d1             	add    %r9d,%r10d
18010b8ae:	45 3b 13             	cmp    (%r11),%r10d
18010b8b1:	72 e4                	jb     0x18010b897
18010b8b3:	45 3b 13             	cmp    (%r11),%r10d
18010b8b6:	75 0f                	jne    0x18010b8c7
18010b8b8:	0f b7 8c 24 90 00 00 	movzwl 0x90(%rsp),%ecx
18010b8bf:	00
18010b8c0:	ba 01 00 00 c0       	mov    $0xc0000001,%edx
18010b8c5:	eb 47                	jmp    0x18010b90e
18010b8c7:	4d 8b 4b 28          	mov    0x28(%r11),%r9
18010b8cb:	45 8b c2             	mov    %r10d,%r8d
18010b8ce:	66 47 39 24 41       	cmp    %r12w,(%r9,%r8,2)
18010b8d3:	75 0e                	jne    0x18010b8e3
18010b8d5:	49 8b 43 20          	mov    0x20(%r11),%rax
18010b8d9:	42 0f b7 0c 40       	movzwl (%rax,%r8,2),%ecx
18010b8de:	66 03 ca             	add    %dx,%cx
18010b8e1:	eb 28                	jmp    0x18010b90b
18010b8e3:	49 8b 43 10          	mov    0x10(%r11),%rax
18010b8e7:	42 0f b7 0c 40       	movzwl (%rax,%r8,2),%ecx
18010b8ec:	43 0f b7 04 41       	movzwl (%r9,%r8,2),%eax
18010b8f1:	d1 e8                	shr    $1,%eax
18010b8f3:	2b c1                	sub    %ecx,%eax
18010b8f5:	0f b7 ca             	movzwl %dx,%ecx
18010b8f8:	41 03 c2             	add    %r10d,%eax
18010b8fb:	03 c8                	add    %eax,%ecx
18010b8fd:	49 8b 43 20          	mov    0x20(%r11),%rax
18010b901:	41 0f b7 0c 49       	movzwl (%r9,%rcx,2),%ecx
18010b906:	66 42 03 0c 40       	add    (%rax,%r8,2),%cx
18010b90b:	41 8b d4             	mov    %r12d,%edx
18010b90e:	85 d2                	test   %edx,%edx
18010b910:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
18010b917:	00
18010b918:	41 8b c4             	mov    %r12d,%eax
18010b91b:	66 0f 49 c1          	cmovns %cx,%ax
18010b91f:	48 8b cd             	mov    %rbp,%rcx
18010b922:	0f b7 f0             	movzwl %ax,%esi
18010b925:	8b d6                	mov    %esi,%edx
18010b927:	e8 58 fe ff ff       	call   0x18010b784
18010b92c:	4c 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%r14
18010b933:	00
18010b934:	85 c0                	test   %eax,%eax
18010b936:	79 20                	jns    0x18010b958
18010b938:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
18010b93f:	00
18010b940:	33 d2                	xor    %edx,%edx
18010b942:	48 8b cd             	mov    %rbp,%rcx
18010b945:	41 0f b7 f4          	movzwl %r12w,%esi
18010b949:	e8 36 fe ff ff       	call   0x18010b784
18010b94e:	8b f8                	mov    %eax,%edi
18010b950:	85 c0                	test   %eax,%eax
18010b952:	0f 88 c0 00 00 00    	js     0x18010ba18
18010b958:	8b 94 24 a0 00 00 00 	mov    0xa0(%rsp),%edx
18010b95f:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
18010b964:	4c 8d 84 24 90 00 00 	lea    0x90(%rsp),%r8
18010b96b:	00
18010b96c:	66 89 b4 24 90 00 00 	mov    %si,0x90(%rsp)
18010b973:	00
18010b974:	48 8b cd             	mov    %rbp,%rcx
18010b977:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
18010b97c:	e8 2b fd ff ff       	call   0x18010b6ac
18010b981:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
18010b986:	8b f8                	mov    %eax,%edi
18010b988:	85 c0                	test   %eax,%eax
18010b98a:	0f 88 88 00 00 00    	js     0x18010ba18
18010b990:	66 44 39 23          	cmp    %r12w,(%rbx)
18010b994:	7e 6a                	jle    0x18010ba00
18010b996:	44 0f b7 53 18       	movzwl 0x18(%rbx),%r10d
18010b99b:	45 33 c0             	xor    %r8d,%r8d
18010b99e:	45 0f b7 c8          	movzwl %r8w,%r9d
18010b9a2:	48 8b 4b 32          	mov    0x32(%rbx),%rcx
18010b9a6:	41 0f b7 c0          	movzwl %r8w,%eax
18010b9aa:	48 8b 53 3a          	mov    0x3a(%rbx),%rdx
18010b9ae:	0f b7 73 0a          	movzwl 0xa(%rbx),%esi
18010b9b2:	44 0f b7 63 02       	movzwl 0x2(%rbx),%r12d
18010b9b7:	44 0f b7 5b 0e       	movzwl 0xe(%rbx),%r11d
18010b9bc:	0f b7 7b 06          	movzwl 0x6(%rbx),%edi
18010b9c0:	66 44 39 54 24 40    	cmp    %r10w,0x40(%rsp)
18010b9c6:	73 38                	jae    0x18010ba00
18010b9c8:	66 44 03 09          	add    (%rcx),%r9w
18010b9cc:	66 03 02             	add    (%rdx),%ax
18010b9cf:	66 44 89 09          	mov    %r9w,(%rcx)
18010b9d3:	66 89 02             	mov    %ax,(%rdx)
18010b9d6:	66 39 31             	cmp    %si,(%rcx)
18010b9d9:	7f 76                	jg     0x18010ba51
18010b9db:	66 44 39 21          	cmp    %r12w,(%rcx)
18010b9df:	7c 70                	jl     0x18010ba51
18010b9e1:	66 41 3b c3          	cmp    %r11w,%ax
18010b9e5:	7f 6a                	jg     0x18010ba51
18010b9e7:	66 3b c7             	cmp    %di,%ax
18010b9ea:	7c 65                	jl     0x18010ba51
18010b9ec:	66 44 03 44 24 30    	add    0x30(%rsp),%r8w
18010b9f2:	48 83 c1 04          	add    $0x4,%rcx
18010b9f6:	48 83 c2 04          	add    $0x4,%rdx
18010b9fa:	66 45 3b c2          	cmp    %r10w,%r8w
18010b9fe:	72 c8                	jb     0x18010b9c8
18010ba00:	0f b7 94 24 90 00 00 	movzwl 0x90(%rsp),%edx
18010ba07:	00
18010ba08:	4d 8b cd             	mov    %r13,%r9
18010ba0b:	4c 8b c3             	mov    %rbx,%r8
18010ba0e:	48 8b cd             	mov    %rbp,%rcx
18010ba11:	e8 8a f8 ff ff       	call   0x18010b2a0
18010ba16:	8b f8                	mov    %eax,%edi
18010ba18:	33 c0                	xor    %eax,%eax
18010ba1a:	4d 85 ff             	test   %r15,%r15
18010ba1d:	74 05                	je     0x18010ba24
18010ba1f:	49 89 1f             	mov    %rbx,(%r15)
18010ba22:	8b d8                	mov    %eax,%ebx
18010ba24:	48 85 db             	test   %rbx,%rbx
18010ba27:	74 0d                	je     0x18010ba36
18010ba29:	49 39 06             	cmp    %rax,(%r14)
18010ba2c:	75 08                	jne    0x18010ba36
18010ba2e:	48 8b cb             	mov    %rbx,%rcx
18010ba31:	e8 c6 e5 f8 ff       	call   0x180099ffc
18010ba36:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
18010ba3d:	00
18010ba3e:	8b c7                	mov    %edi,%eax
18010ba40:	48 83 c4 50          	add    $0x50,%rsp
18010ba44:	41 5f                	pop    %r15
18010ba46:	41 5e                	pop    %r14
18010ba48:	41 5d                	pop    %r13
18010ba4a:	41 5c                	pop    %r12
18010ba4c:	5f                   	pop    %rdi
18010ba4d:	5e                   	pop    %rsi
18010ba4e:	5d                   	pop    %rbp
18010ba4f:	c3                   	ret
18010ba50:	cc                   	int3
18010ba51:	bf 01 00 00 c0       	mov    $0xc0000001,%edi
18010ba56:	eb c0                	jmp    0x18010ba18
18010ba58:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18010ba5d:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18010ba62:	55                   	push   %rbp
18010ba63:	57                   	push   %rdi
18010ba64:	41 56                	push   %r14
18010ba66:	48 8b ec             	mov    %rsp,%rbp
18010ba69:	48 83 ec 50          	sub    $0x50,%rsp
18010ba6d:	48 8b 7d 60          	mov    0x60(%rbp),%rdi
18010ba71:	4c 8d 4d 38          	lea    0x38(%rbp),%r9
18010ba75:	48 83 65 f0 00       	andq   $0x0,-0x10(%rbp)
18010ba7a:	4c 8d 45 20          	lea    0x20(%rbp),%r8
18010ba7e:	48 83 65 f8 00       	andq   $0x0,-0x8(%rbp)
18010ba83:	4c 8b f1             	mov    %rcx,%r14
18010ba86:	48 8b 49 08          	mov    0x8(%rcx),%rcx
18010ba8a:	48 83 65 20 00       	andq   $0x0,0x20(%rbp)
18010ba8f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18010ba94:	e8 b7 fd ff ff       	call   0x18010b850
18010ba99:	8b d8                	mov    %eax,%ebx
18010ba9b:	85 c0                	test   %eax,%eax
18010ba9d:	0f 88 9c 00 00 00    	js     0x18010bb3f
18010baa3:	48 8b 55 20          	mov    0x20(%rbp),%rdx
18010baa7:	49 8b ce             	mov    %r14,%rcx
18010baaa:	e8 b9 00 00 00       	call   0x18010bb68
18010baaf:	8b d8                	mov    %eax,%ebx
18010bab1:	85 c0                	test   %eax,%eax
18010bab3:	0f 88 86 00 00 00    	js     0x18010bb3f
18010bab9:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18010babd:	48 8d 55 f8          	lea    -0x8(%rbp),%rdx