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
18010bac1:	4c 8b c7             	mov    %rdi,%r8
18010bac4:	e8 7f e7 ff ff       	call   0x18010a248
18010bac9:	4c 8b 75 f8          	mov    -0x8(%rbp),%r14
18010bacd:	8b d8                	mov    %eax,%ebx
18010bacf:	85 c0                	test   %eax,%eax
18010bad1:	78 59                	js     0x18010bb2c
18010bad3:	48 8b 45 58          	mov    0x58(%rbp),%rax
18010bad7:	49 8b d6             	mov    %r14,%rdx
18010bada:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18010bade:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
18010bae3:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18010bae8:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18010baec:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18010baf1:	8b 45 40             	mov    0x40(%rbp),%eax
18010baf4:	89 44 24 20          	mov    %eax,0x20(%rsp)
18010baf8:	e8 47 01 00 00       	call   0x18010bc44
18010bafd:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
18010bb01:	8b d8                	mov    %eax,%ebx
18010bb03:	85 c0                	test   %eax,%eax
18010bb05:	78 15                	js     0x18010bb1c
18010bb07:	48 8b 45 48          	mov    0x48(%rbp),%rax
18010bb0b:	8b 51 04             	mov    0x4(%rcx),%edx
18010bb0e:	c1 ea 02             	shr    $0x2,%edx
18010bb11:	48 89 08             	mov    %rcx,(%rax)
18010bb14:	48 8b 45 50          	mov    0x50(%rbp),%rax
18010bb18:	89 10                	mov    %edx,(%rax)
18010bb1a:	eb 10                	jmp    0x18010bb2c
18010bb1c:	48 85 c9             	test   %rcx,%rcx
18010bb1f:	74 0b                	je     0x18010bb2c
18010bb21:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010bb25:	75 05                	jne    0x18010bb2c
18010bb27:	e8 d0 e4 f8 ff       	call   0x180099ffc
18010bb2c:	4d 85 f6             	test   %r14,%r14
18010bb2f:	74 0e                	je     0x18010bb3f
18010bb31:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010bb35:	75 08                	jne    0x18010bb3f
18010bb37:	49 8b ce             	mov    %r14,%rcx
18010bb3a:	e8 bd e4 f8 ff       	call   0x180099ffc
18010bb3f:	48 83 7d 20 00       	cmpq   $0x0,0x20(%rbp)
18010bb44:	74 0f                	je     0x18010bb55
18010bb46:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010bb4a:	75 09                	jne    0x18010bb55
18010bb4c:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18010bb50:	e8 a7 e4 f8 ff       	call   0x180099ffc
18010bb55:	8b c3                	mov    %ebx,%eax
18010bb57:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
18010bb5c:	48 83 c4 50          	add    $0x50,%rsp
18010bb60:	41 5e                	pop    %r14
18010bb62:	5f                   	pop    %rdi
18010bb63:	5d                   	pop    %rbp
18010bb64:	c3                   	ret
18010bb65:	cc                   	int3
18010bb66:	cc                   	int3
18010bb67:	cc                   	int3
18010bb68:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18010bb6d:	48 8b 41 08          	mov    0x8(%rcx),%rax
18010bb71:	4c 8b d2             	mov    %rdx,%r10
18010bb74:	45 33 c9             	xor    %r9d,%r9d
18010bb77:	0f b7 50 78          	movzwl 0x78(%rax),%edx
18010bb7b:	66 85 d2             	test   %dx,%dx
18010bb7e:	75 0a                	jne    0x18010bb8a
18010bb80:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
18010bb85:	e9 b0 00 00 00       	jmp    0x18010bc3a
18010bb8a:	44 8b 58 60          	mov    0x60(%rax),%r11d
18010bb8e:	48 8d 1c d2          	lea    (%rdx,%rdx,8),%rbx
18010bb92:	8b 41 10             	mov    0x10(%rcx),%eax
18010bb95:	4c 0f af d8          	imul   %rax,%r11
18010bb99:	49 0f bf 42 02       	movswq 0x2(%r10),%rax
18010bb9e:	49 c1 e3 06          	shl    $0x6,%r11
18010bba2:	49 0f af c3          	imul   %r11,%rax
18010bba6:	48 c1 e3 03          	shl    $0x3,%rbx
18010bbaa:	48 99                	cqto
18010bbac:	48 f7 fb             	idiv   %rbx
18010bbaf:	41 89 42 02          	mov    %eax,0x2(%r10)
18010bbb3:	49 0f bf 42 06       	movswq 0x6(%r10),%rax
18010bbb8:	49 0f af c3          	imul   %r11,%rax
18010bbbc:	48 99                	cqto
18010bbbe:	48 f7 fb             	idiv   %rbx
18010bbc1:	41 89 42 06          	mov    %eax,0x6(%r10)
18010bbc5:	49 0f bf 42 0a       	movswq 0xa(%r10),%rax
18010bbca:	49 0f af c3          	imul   %r11,%rax
18010bbce:	48 99                	cqto
18010bbd0:	48 f7 fb             	idiv   %rbx
18010bbd3:	41 89 42 0a          	mov    %eax,0xa(%r10)
18010bbd7:	49 0f bf 42 0e       	movswq 0xe(%r10),%rax
18010bbdc:	49 0f af c3          	imul   %r11,%rax
18010bbe0:	48 99                	cqto
18010bbe2:	48 f7 fb             	idiv   %rbx
18010bbe5:	41 89 42 0e          	mov    %eax,0xe(%r10)
18010bbe9:	49 0f bf 42 12       	movswq 0x12(%r10),%rax
18010bbee:	49 0f af c3          	imul   %r11,%rax
18010bbf2:	48 99                	cqto
18010bbf4:	48 f7 fb             	idiv   %rbx
18010bbf7:	41 89 42 12          	mov    %eax,0x12(%r10)
18010bbfb:	eb 34                	jmp    0x18010bc31
18010bbfd:	49 8b 4a 32          	mov    0x32(%r10),%rcx
18010bc01:	45 0f b7 c1          	movzwl %r9w,%r8d
18010bc05:	4a 0f bf 04 81       	movswq (%rcx,%r8,4),%rax
18010bc0a:	49 0f af c3          	imul   %r11,%rax
18010bc0e:	48 99                	cqto
18010bc10:	48 f7 fb             	idiv   %rbx
18010bc13:	42 89 04 81          	mov    %eax,(%rcx,%r8,4)
18010bc17:	49 8b 4a 3a          	mov    0x3a(%r10),%rcx
18010bc1b:	4a 0f bf 04 81       	movswq (%rcx,%r8,4),%rax
18010bc20:	49 0f af c3          	imul   %r11,%rax
18010bc24:	48 99                	cqto
18010bc26:	48 f7 fb             	idiv   %rbx
18010bc29:	66 41 ff c1          	inc    %r9w
18010bc2d:	42 89 04 81          	mov    %eax,(%rcx,%r8,4)
18010bc31:	66 45 3b 4a 18       	cmp    0x18(%r10),%r9w
18010bc36:	72 c5                	jb     0x18010bbfd
18010bc38:	33 c0                	xor    %eax,%eax
18010bc3a:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18010bc3f:	c3                   	ret
18010bc40:	cc                   	int3
18010bc41:	cc                   	int3
18010bc42:	cc                   	int3
18010bc43:	cc                   	int3
18010bc44:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18010bc49:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18010bc4e:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
18010bc53:	55                   	push   %rbp
18010bc54:	56                   	push   %rsi
18010bc55:	57                   	push   %rdi
18010bc56:	41 54                	push   %r12
18010bc58:	41 55                	push   %r13
18010bc5a:	41 56                	push   %r14
18010bc5c:	41 57                	push   %r15
18010bc5e:	48 8b ec             	mov    %rsp,%rbp
18010bc61:	48 83 ec 60          	sub    $0x60,%rsp
18010bc65:	44 8b 7d 60          	mov    0x60(%rbp),%r15d
18010bc69:	4c 8b f2             	mov    %rdx,%r14
18010bc6c:	48 83 65 40 00       	andq   $0x0,0x40(%rbp)
18010bc71:	41 83 e7 01          	and    $0x1,%r15d
18010bc75:	48 83 65 e8 00       	andq   $0x0,-0x18(%rbp)
18010bc7a:	48 8b f1             	mov    %rcx,%rsi
18010bc7d:	44 0f b7 41 18       	movzwl 0x18(%rcx),%r8d
18010bc82:	41 83 f8 02          	cmp    $0x2,%r8d
18010bc86:	73 0a                	jae    0x18010bc92
18010bc88:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18010bc8d:	e9 c6 03 00 00       	jmp    0x18010c058
18010bc92:	4c 8b 65 78          	mov    0x78(%rbp),%r12
18010bc96:	48 8d 45 d4          	lea    -0x2c(%rbp),%rax
18010bc9a:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
18010bc9f:	4c 8d 4d e8          	lea    -0x18(%rbp),%r9
18010bca3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18010bca8:	e8 4b e6 ff ff       	call   0x18010a2f8
18010bcad:	8b d8                	mov    %eax,%ebx
18010bcaf:	85 c0                	test   %eax,%eax
18010bcb1:	0f 88 8a 03 00 00    	js     0x18010c041
18010bcb7:	8b 46 0e             	mov    0xe(%rsi),%eax
18010bcba:	bb 00 00 00 fc       	mov    $0xfc000000,%ebx
18010bcbf:	44 0f b7 46 18       	movzwl 0x18(%rsi),%r8d
18010bcc4:	8b f8                	mov    %eax,%edi
18010bcc6:	c1 ff 06             	sar    $0x6,%edi
18010bcc9:	41 83 e8 02          	sub    $0x2,%r8d
18010bccd:	89 7d 58             	mov    %edi,0x58(%rbp)
18010bcd0:	85 c0                	test   %eax,%eax
18010bcd2:	79 04                	jns    0x18010bcd8
18010bcd4:	0b fb                	or     %ebx,%edi
18010bcd6:	eb 06                	jmp    0x18010bcde
18010bcd8:	a8 3f                	test   $0x3f,%al
18010bcda:	74 05                	je     0x18010bce1
18010bcdc:	ff c7                	inc    %edi
18010bcde:	89 7d 58             	mov    %edi,0x58(%rbp)
18010bce1:	8b 4e 06             	mov    0x6(%rsi),%ecx
18010bce4:	8b c1                	mov    %ecx,%eax
18010bce6:	c1 f8 06             	sar    $0x6,%eax
18010bce9:	85 c9                	test   %ecx,%ecx
18010bceb:	79 04                	jns    0x18010bcf1
18010bced:	0b c3                	or     %ebx,%eax
18010bcef:	eb 07                	jmp    0x18010bcf8
18010bcf1:	f6 c1 3f             	test   $0x3f,%cl
18010bcf4:	74 02                	je     0x18010bcf8
18010bcf6:	ff c0                	inc    %eax