14006292f:	4d 8b c5             	mov    %r13,%r8
140062932:	48 8b 48 50          	mov    0x50(%rax),%rcx
140062936:	e8 a5 ff fb ff       	call   0x1400228e0
14006293b:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
14006293f:	48 8d 3d 6a 68 01 00 	lea    0x1686a(%rip),%rdi        # 0x1400791b0
140062946:	48 89 7d e0          	mov    %rdi,-0x20(%rbp)
14006294a:	e8 25 32 ff ff       	call   0x140055b74
14006294f:	48 83 65 e8 00       	andq   $0x0,-0x18(%rbp)
140062954:	48 8d 05 3d 68 01 00 	lea    0x1683d(%rip),%rax        # 0x140079198
14006295b:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
14006295f:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140062963:	e8 2c 3a ff ff       	call   0x140056394
140062968:	8b c3                	mov    %ebx,%eax
14006296a:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
14006296f:	49 8b 5b 38          	mov    0x38(%r11),%rbx
140062973:	49 8b 73 40          	mov    0x40(%r11),%rsi
140062977:	49 8b e3             	mov    %r11,%rsp
14006297a:	41 5f                	pop    %r15
14006297c:	41 5e                	pop    %r14
14006297e:	41 5d                	pop    %r13
140062980:	5f                   	pop    %rdi
140062981:	5d                   	pop    %rbp
140062982:	c3                   	ret
140062983:	90                   	nop
140062984:	48 8b c4             	mov    %rsp,%rax
140062987:	48 89 58 08          	mov    %rbx,0x8(%rax)
14006298b:	48 89 68 10          	mov    %rbp,0x10(%rax)
14006298f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140062993:	57                   	push   %rdi
140062994:	48 83 ec 30          	sub    $0x30,%rsp
140062998:	49 8b 78 08          	mov    0x8(%r8),%rdi
14006299c:	8b da                	mov    %edx,%ebx
14006299e:	44 89 48 f0          	mov    %r9d,-0x10(%rax)
1400629a2:	48 8b e9             	mov    %rcx,%rbp
1400629a5:	41 8b 00             	mov    (%r8),%eax
1400629a8:	c1 e8 02             	shr    $0x2,%eax
1400629ab:	85 c0                	test   %eax,%eax
1400629ad:	74 2e                	je     0x1400629dd
1400629af:	8b f0                	mov    %eax,%esi
1400629b1:	0f b7 4f 02          	movzwl 0x2(%rdi),%ecx
1400629b5:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400629ba:	0f b7 07             	movzwl (%rdi),%eax
1400629bd:	ff c9                	dec    %ecx
1400629bf:	03 cb                	add    %ebx,%ecx
1400629c1:	03 c3                	add    %ebx,%eax
1400629c3:	89 4c 24 24          	mov    %ecx,0x24(%rsp)
1400629c7:	48 8b cd             	mov    %rbp,%rcx
1400629ca:	89 44 24 20          	mov    %eax,0x20(%rsp)
1400629ce:	e8 ad f8 ff ff       	call   0x140062280
1400629d3:	48 8d 7f 04          	lea    0x4(%rdi),%rdi
1400629d7:	48 83 ee 01          	sub    $0x1,%rsi
1400629db:	75 d4                	jne    0x1400629b1
1400629dd:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400629e2:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400629e7:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400629ec:	48 83 c4 30          	add    $0x30,%rsp
1400629f0:	5f                   	pop    %rdi
1400629f1:	c3                   	ret
1400629f2:	90                   	nop
1400629f3:	90                   	nop
1400629f4:	48 8b c4             	mov    %rsp,%rax
1400629f7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400629fb:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400629ff:	48 89 70 18          	mov    %rsi,0x18(%rax)
140062a03:	48 89 78 20          	mov    %rdi,0x20(%rax)
140062a07:	41 54                	push   %r12
140062a09:	41 56                	push   %r14
140062a0b:	41 57                	push   %r15
140062a0d:	48 83 ec 40          	sub    $0x40,%rsp
140062a11:	48 8b f1             	mov    %rcx,%rsi
140062a14:	41 8b e9             	mov    %r9d,%ebp
140062a17:	48 8d 48 c8          	lea    -0x38(%rax),%rcx
140062a1b:	4d 8b e0             	mov    %r8,%r12
140062a1e:	48 8b fa             	mov    %rdx,%rdi
140062a21:	e8 a2 00 00 00       	call   0x140062ac8
140062a26:	8b 46 08             	mov    0x8(%rsi),%eax
140062a29:	33 db                	xor    %ebx,%ebx
140062a2b:	44 8d 14 40          	lea    (%rax,%rax,2),%r10d
140062a2f:	8b 46 0c             	mov    0xc(%rsi),%eax
140062a32:	46 8d 3c 90          	lea    (%rax,%r10,4),%r15d
140062a36:	8b 46 20             	mov    0x20(%rsi),%eax
140062a39:	44 8d 14 40          	lea    (%rax,%rax,2),%r10d
140062a3d:	8b 46 24             	mov    0x24(%rsi),%eax
140062a40:	46 8d 34 90          	lea    (%rax,%r10,4),%r14d
140062a44:	85 ed                	test   %ebp,%ebp
140062a46:	74 5f                	je     0x140062aa7
140062a48:	8b 07                	mov    (%rdi),%eax
140062a4a:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140062a4f:	c1 f8 04             	sar    $0x4,%eax
140062a52:	0f b7 d0             	movzwl %ax,%edx
140062a55:	e8 aa 03 00 00       	call   0x140062e04
140062a5a:	8b 44 24 20          	mov    0x20(%rsp),%eax
140062a5e:	8b 17                	mov    (%rdi),%edx
140062a60:	83 e2 0f             	and    $0xf,%edx
140062a63:	89 54 24 24          	mov    %edx,0x24(%rsp)
140062a67:	8d 0c 40             	lea    (%rax,%rax,2),%ecx
140062a6a:	8d 04 8a             	lea    (%rdx,%rcx,4),%eax
140062a6d:	41 3b c7             	cmp    %r15d,%eax
140062a70:	7c 2b                	jl     0x140062a9d
140062a72:	41 3b c6             	cmp    %r14d,%eax
140062a75:	7f 26                	jg     0x140062a9d
140062a77:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140062a7c:	e8 37 02 00 00       	call   0x140062cb8
140062a81:	44 8b 8c 24 80 00 00 	mov    0x80(%rsp),%r9d
140062a88:	00
140062a89:	8b d0                	mov    %eax,%edx
140062a8b:	44 8b c3             	mov    %ebx,%r8d
140062a8e:	48 8b ce             	mov    %rsi,%rcx
140062a91:	49 c1 e0 04          	shl    $0x4,%r8
140062a95:	4d 03 c4             	add    %r12,%r8
140062a98:	e8 e7 fe ff ff       	call   0x140062984
140062a9d:	ff c3                	inc    %ebx
140062a9f:	48 83 c7 04          	add    $0x4,%rdi
140062aa3:	3b dd                	cmp    %ebp,%ebx
140062aa5:	72 a1                	jb     0x140062a48
140062aa7:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140062aac:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140062ab1:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140062ab6:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140062abb:	48 83 c4 40          	add    $0x40,%rsp
140062abf:	41 5f                	pop    %r15
140062ac1:	41 5e                	pop    %r14
140062ac3:	41 5c                	pop    %r12
140062ac5:	c3                   	ret
140062ac6:	90                   	nop
140062ac7:	90                   	nop
140062ac8:	b8 01 00 00 00       	mov    $0x1,%eax
140062acd:	c7 01 41 06 00 00    	movl   $0x641,(%rcx)
140062ad3:	89 41 04             	mov    %eax,0x4(%rcx)
140062ad6:	48 89 41 08          	mov    %rax,0x8(%rcx)
140062ada:	33 c0                	xor    %eax,%eax
140062adc:	48 89 41 10          	mov    %rax,0x10(%rcx)
140062ae0:	48 8b c1             	mov    %rcx,%rax
140062ae3:	c3                   	ret
140062ae4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140062ae9:	57                   	push   %rdi
140062aea:	48 83 ec 20          	sub    $0x20,%rsp
140062aee:	44 8b c2             	mov    %edx,%r8d
140062af1:	48 8b f9             	mov    %rcx,%rdi
140062af4:	41 b9 89 88 88 88    	mov    $0x88888889,%r9d
140062afa:	41 8b c1             	mov    %r9d,%eax
140062afd:	f7 ea                	imul   %edx
140062aff:	41 03 d0             	add    %r8d,%edx
140062b02:	c1 fa 05             	sar    $0x5,%edx
140062b05:	8b c2                	mov    %edx,%eax
140062b07:	c1 e8 1f             	shr    $0x1f,%eax
140062b0a:	03 d0                	add    %eax,%edx
140062b0c:	0f b6 c2             	movzbl %dl,%eax
140062b0f:	6b c8 3c             	imul   $0x3c,%eax,%ecx
140062b12:	41 8a c0             	mov    %r8b,%al
140062b15:	2a c1                	sub    %cl,%al
140062b17:	0f b6 c0             	movzbl %al,%eax
140062b1a:	89 47 10             	mov    %eax,0x10(%rdi)
140062b1d:	b8 b7 60 0b b6       	mov    $0xb60b60b7,%eax
140062b22:	41 f7 e8             	imul   %r8d
140062b25:	41 8b c1             	mov    %r9d,%eax
140062b28:	41 8d 1c 10          	lea    (%r8,%rdx,1),%ebx
140062b2c:	c1 fb 0a             	sar    $0xa,%ebx
140062b2f:	8b cb                	mov    %ebx,%ecx
140062b31:	c1 e9 1f             	shr    $0x1f,%ecx
140062b34:	03 d9                	add    %ecx,%ebx
140062b36:	69 cb a0 05 00 00    	imul   $0x5a0,%ebx,%ecx
140062b3c:	44 2b c1             	sub    %ecx,%r8d
140062b3f:	b9 03 00 00 00       	mov    $0x3,%ecx
140062b44:	41 f7 e8             	imul   %r8d
140062b47:	41 03 d0             	add    %r8d,%edx
140062b4a:	c1 fa 05             	sar    $0x5,%edx
140062b4d:	8b c2                	mov    %edx,%eax
140062b4f:	c1 e8 1f             	shr    $0x1f,%eax
140062b52:	03 d0                	add    %eax,%edx
140062b54:	0f b6 c2             	movzbl %dl,%eax
140062b57:	89 47 0c             	mov    %eax,0xc(%rdi)
140062b5a:	b8 bd 06 6b 39       	mov    $0x396b06bd,%eax
140062b5f:	f7 eb                	imul   %ebx
140062b61:	c1 fa 0f             	sar    $0xf,%edx
140062b64:	8b c2                	mov    %edx,%eax
140062b66:	c1 e8 1f             	shr    $0x1f,%eax
140062b69:	03 d0                	add    %eax,%edx
140062b6b:	69 c2 4f c5 fd ff    	imul   $0xfffdc54f,%edx,%eax
140062b71:	44 8d 0c 95 00 00 00 	lea    0x0(,%rdx,4),%r9d
140062b78:	00
140062b79:	03 d8                	add    %eax,%ebx
140062b7b:	81 fb b0 3a 02 00    	cmp    $0x23ab0,%ebx
140062b81:	75 0a                	jne    0x140062b8d
140062b83:	bb ac 8e 00 00       	mov    $0x8eac,%ebx
140062b88:	44 8b c1             	mov    %ecx,%r8d
140062b8b:	eb 21                	jmp    0x140062bae
140062b8d:	b8 fb 81 ac e5       	mov    $0xe5ac81fb,%eax
140062b92:	f7 eb                	imul   %ebx
140062b94:	44 8d 04 13          	lea    (%rbx,%rdx,1),%r8d
140062b98:	41 c1 f8 0f          	sar    $0xf,%r8d
140062b9c:	41 8b c0             	mov    %r8d,%eax
140062b9f:	c1 e8 1f             	shr    $0x1f,%eax
140062ba2:	44 03 c0             	add    %eax,%r8d
140062ba5:	41 69 c0 54 71 ff ff 	imul   $0xffff7154,%r8d,%eax
140062bac:	03 d8                	add    %eax,%ebx
140062bae:	b8 73 b0 6d 16       	mov    $0x166db073,%eax
140062bb3:	f7 eb                	imul   %ebx
140062bb5:	c1 fa 07             	sar    $0x7,%edx
140062bb8:	8b c2                	mov    %edx,%eax
140062bba:	c1 e8 1f             	shr    $0x1f,%eax
140062bbd:	03 d0                	add    %eax,%edx
140062bbf:	69 c2 4b fa ff ff    	imul   $0xfffffa4b,%edx,%eax
140062bc5:	03 d8                	add    %eax,%ebx
140062bc7:	43 8d 04 01          	lea    (%r9,%r8,1),%eax
140062bcb:	44 6b c0 19          	imul   $0x19,%eax,%r8d
140062bcf:	44 03 c2             	add    %edx,%r8d
140062bd2:	41 c1 e0 02          	shl    $0x2,%r8d
140062bd6:	81 fb b4 05 00 00    	cmp    $0x5b4,%ebx
140062bdc:	75 07                	jne    0x140062be5
140062bde:	bb 6d 01 00 00       	mov    $0x16d,%ebx
140062be3:	eb 1c                	jmp    0x140062c01
140062be5:	b8 b1 f9 8c b3       	mov    $0xb38cf9b1,%eax
140062bea:	f7 eb                	imul   %ebx
140062bec:	8d 0c 13             	lea    (%rbx,%rdx,1),%ecx
140062bef:	c1 f9 08             	sar    $0x8,%ecx
140062bf2:	8b c1                	mov    %ecx,%eax
140062bf4:	c1 e8 1f             	shr    $0x1f,%eax
140062bf7:	03 c8                	add    %eax,%ecx
140062bf9:	69 c1 93 fe ff ff    	imul   $0xfffffe93,%ecx,%eax
140062bff:	03 d8                	add    %eax,%ebx
140062c01:	66 44 03 c1          	add    %cx,%r8w
140062c05:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140062c0b:	b8 41 06 00 00       	mov    $0x641,%eax
140062c10:	45 8b ca             	mov    %r10d,%r9d
140062c13:	66 44 03 c0          	add    %ax,%r8w
140062c17:	48 8b cf             	mov    %rdi,%rcx
140062c1a:	41 0f b7 d0          	movzwl %r8w,%edx
140062c1e:	41 03 da             	add    %r10d,%ebx
140062c21:	45 8b c2             	mov    %r10d,%r8d
140062c24:	e8 1b 01 00 00       	call   0x140062d44
140062c29:	8b c3                	mov    %ebx,%eax
140062c2b:	c1 f8 05             	sar    $0x5,%eax
140062c2e:	83 7f 14 00          	cmpl   $0x0,0x14(%rdi)
140062c32:	0f b6 d0             	movzbl %al,%edx
140062c35:	8d 4a 02             	lea    0x2(%rdx),%ecx
140062c38:	89 4f 04             	mov    %ecx,0x4(%rdi)
140062c3b:	74 33                	je     0x140062c70
140062c3d:	48 8d 15 bc d3 f9 ff 	lea    -0x62c44(%rip),%rdx        # 0x140000000
140062c44:	3b 9c 8a 20 c7 07 00 	cmp    0x7c720(%rdx,%rcx,4),%ebx
140062c4b:	7e 11                	jle    0x140062c5e
140062c4d:	ff c1                	inc    %ecx
140062c4f:	48 63 c1             	movslq %ecx,%rax
140062c52:	89 4f 04             	mov    %ecx,0x4(%rdi)
140062c55:	3b 9c 82 20 c7 07 00 	cmp    0x7c720(%rdx,%rax,4),%ebx
140062c5c:	7f ef                	jg     0x140062c4d
140062c5e:	8d 41 ff             	lea    -0x1(%rcx),%eax
140062c61:	89 47 04             	mov    %eax,0x4(%rdi)
140062c64:	48 63 c1             	movslq %ecx,%rax
140062c67:	2b 9c 82 1c c7 07 00 	sub    0x7c71c(%rdx,%rax,4),%ebx
140062c6e:	eb 34                	jmp    0x140062ca4
140062c70:	48 8b c2             	mov    %rdx,%rax
140062c73:	48 8d 15 86 d3 f9 ff 	lea    -0x62c7a(%rip),%rdx        # 0x140000000
140062c7a:	3b 9c 82 f0 c6 07 00 	cmp    0x7c6f0(%rdx,%rax,4),%ebx
140062c81:	7e 11                	jle    0x140062c94
140062c83:	ff c1                	inc    %ecx
140062c85:	48 63 c1             	movslq %ecx,%rax
140062c88:	89 4f 04             	mov    %ecx,0x4(%rdi)
140062c8b:	3b 9c 82 e8 c6 07 00 	cmp    0x7c6e8(%rdx,%rax,4),%ebx
140062c92:	7f ef                	jg     0x140062c83
140062c94:	8d 41 ff             	lea    -0x1(%rcx),%eax
140062c97:	89 47 04             	mov    %eax,0x4(%rdi)
140062c9a:	48 63 c1             	movslq %ecx,%rax
140062c9d:	2b 9c 82 e4 c6 07 00 	sub    0x7c6e4(%rdx,%rax,4),%ebx
140062ca4:	0f b6 c3             	movzbl %bl,%eax
140062ca7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140062cac:	89 47 08             	mov    %eax,0x8(%rdi)
140062caf:	48 83 c4 20          	add    $0x20,%rsp
140062cb3:	5f                   	pop    %rdi
140062cb4:	c3                   	ret
140062cb5:	90                   	nop
140062cb6:	90                   	nop
140062cb7:	90                   	nop
140062cb8:	44 8b 09             	mov    (%rcx),%r9d
140062cbb:	4c 8d 15 26 9a 01 00 	lea    0x19a26(%rip),%r10        # 0x14007c6e8
140062cc2:	4c 63 41 04          	movslq 0x4(%rcx),%r8
140062cc6:	41 81 e9 41 06 00 00 	sub    $0x641,%r9d
140062ccd:	4c 8b d9             	mov    %rcx,%r11
140062cd0:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140062cd5:	41 f7 e9             	imul   %r9d
140062cd8:	41 69 c9 6d 01 00 00 	imul   $0x16d,%r9d,%ecx
140062cdf:	47 8b 14 82          	mov    (%r10,%r8,4),%r10d
140062ce3:	c1 fa 07             	sar    $0x7,%edx
140062ce6:	8b c2                	mov    %edx,%eax
140062ce8:	c1 e8 1f             	shr    $0x1f,%eax
140062ceb:	03 d0                	add    %eax,%edx
140062ced:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140062cf2:	44 03 d2             	add    %edx,%r10d
140062cf5:	41 f7 e9             	imul   %r9d
140062cf8:	44 03 d1             	add    %ecx,%r10d
140062cfb:	41 8b c1             	mov    %r9d,%eax
140062cfe:	c1 fa 05             	sar    $0x5,%edx
140062d01:	8b ca                	mov    %edx,%ecx
140062d03:	c1 e9 1f             	shr    $0x1f,%ecx
140062d06:	03 d1                	add    %ecx,%edx
140062d08:	44 2b d2             	sub    %edx,%r10d
140062d0b:	99                   	cltd
140062d0c:	83 e2 03             	and    $0x3,%edx
140062d0f:	03 c2                	add    %edx,%eax
140062d11:	c1 f8 02             	sar    $0x2,%eax
140062d14:	44 03 d0             	add    %eax,%r10d
140062d17:	41 83 7b 14 00       	cmpl   $0x0,0x14(%r11)
140062d1c:	74 0a                	je     0x140062d28
140062d1e:	41 83 7b 04 02       	cmpl   $0x2,0x4(%r11)
140062d23:	7e 03                	jle    0x140062d28
140062d25:	41 ff c2             	inc    %r10d
140062d28:	41 8b 43 0c          	mov    0xc(%r11),%eax
140062d2c:	41 8b 4b 08          	mov    0x8(%r11),%ecx
140062d30:	41 03 ca             	add    %r10d,%ecx
140062d33:	8d 0c 49             	lea    (%rcx,%rcx,2),%ecx
140062d36:	8d 49 fd             	lea    -0x3(%rcx),%ecx
140062d39:	8d 0c c8             	lea    (%rax,%rcx,8),%ecx
140062d3c:	6b c1 3c             	imul   $0x3c,%ecx,%eax
140062d3f:	41 03 43 10          	add    0x10(%r11),%eax
140062d43:	c3                   	ret
140062d44:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140062d49:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140062d4e:	57                   	push   %rdi
140062d4f:	48 83 ec 20          	sub    $0x20,%rsp
140062d53:	41 8b f9             	mov    %r9d,%edi
140062d56:	41 8b f0             	mov    %r8d,%esi
140062d59:	48 8b d9             	mov    %rcx,%rbx
140062d5c:	85 d2                	test   %edx,%edx
140062d5e:	74 05                	je     0x140062d65
140062d60:	e8 9f 00 00 00       	call   0x140062e04
140062d65:	85 f6                	test   %esi,%esi
140062d67:	74 03                	je     0x140062d6c
140062d69:	89 73 04             	mov    %esi,0x4(%rbx)
140062d6c:	4c 63 43 04          	movslq 0x4(%rbx),%r8
140062d70:	b9 01 00 00 00       	mov    $0x1,%ecx
140062d75:	48 8d 53 14          	lea    0x14(%rbx),%rdx
140062d79:	85 ff                	test   %edi,%edi
140062d7b:	74 39                	je     0x140062db6
140062d7d:	41 83 f8 02          	cmp    $0x2,%r8d
140062d81:	75 0a                	jne    0x140062d8d
140062d83:	83 3a 00             	cmpl   $0x0,(%rdx)
140062d86:	74 05                	je     0x140062d8d
140062d88:	44 8b c9             	mov    %ecx,%r9d
140062d8b:	eb 03                	jmp    0x140062d90
140062d8d:	45 33 c9             	xor    %r9d,%r9d
140062d90:	4c 8d 15 c1 99 01 00 	lea    0x199c1(%rip),%r10        # 0x14007c758
140062d97:	47 8b 14 82          	mov    (%r10,%r8,4),%r10d
140062d9b:	43 8d 04 0a          	lea    (%r10,%r9,1),%eax
140062d9f:	3b f8                	cmp    %eax,%edi
140062da1:	7e 4d                	jle    0x140062df0
140062da3:	41 83 f8 02          	cmp    $0x2,%r8d
140062da7:	75 05                	jne    0x140062dae
140062da9:	83 3a 00             	cmpl   $0x0,(%rdx)
140062dac:	75 02                	jne    0x140062db0
140062dae:	33 c9                	xor    %ecx,%ecx