14012d6b7:	41 57                	push   %r15
14012d6b9:	b8 20 00 00 00       	mov    $0x20,%eax
14012d6be:	e8 6d 34 18 00       	call   0x1402b0b30
14012d6c3:	48 2b e0             	sub    %rax,%rsp
14012d6c6:	33 f6                	xor    %esi,%esi
14012d6c8:	48 8b ea             	mov    %rdx,%rbp
14012d6cb:	48 8b f9             	mov    %rcx,%rdi
14012d6ce:	48 85 d2             	test   %rdx,%rdx
14012d6d1:	0f 84 d5 00 00 00    	je     0x14012d7ac
14012d6d7:	39 71 08             	cmp    %esi,0x8(%rcx)
14012d6da:	75 10                	jne    0x14012d6ec
14012d6dc:	33 c0                	xor    %eax,%eax
14012d6de:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14012d6e3:	48 83 c4 20          	add    $0x20,%rsp
14012d6e7:	41 5f                	pop    %r15
14012d6e9:	5f                   	pop    %rdi
14012d6ea:	5e                   	pop    %rsi
14012d6eb:	c3                   	ret
14012d6ec:	48 8b cd             	mov    %rbp,%rcx
14012d6ef:	e8 4c 3b fc ff       	call   0x1400f1240
14012d6f4:	41 b8 40 00 00 00    	mov    $0x40,%r8d
14012d6fa:	48 8b d7             	mov    %rdi,%rdx
14012d6fd:	44 2b c0             	sub    %eax,%r8d
14012d700:	4d 63 f8             	movslq %r8d,%r15
14012d703:	49 8b cf             	mov    %r15,%rcx
14012d706:	48 d3 e5             	shl    %cl,%rbp
14012d709:	48 8b cf             	mov    %rdi,%rcx
14012d70c:	e8 6f 81 00 00       	call   0x140135880
14012d711:	85 c0                	test   %eax,%eax
14012d713:	0f 84 93 00 00 00    	je     0x14012d7ac
14012d719:	8b 4f 08             	mov    0x8(%rdi),%ecx
14012d71c:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
14012d721:	8d 41 ff             	lea    -0x1(%rcx),%eax
14012d724:	4c 63 f0             	movslq %eax,%r14
14012d727:	85 c0                	test   %eax,%eax
14012d729:	78 3c                	js     0x14012d767
14012d72b:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
14012d730:	48 8b 07             	mov    (%rdi),%rax
14012d733:	4c 8b c5             	mov    %rbp,%r8
14012d736:	48 8b ce             	mov    %rsi,%rcx
14012d739:	4a 8b 1c f0          	mov    (%rax,%r14,8),%rbx
14012d73d:	48 8b d3             	mov    %rbx,%rdx
14012d740:	e8 0b 3b 08 00       	call   0x1401b1250
14012d745:	48 8b c8             	mov    %rax,%rcx
14012d748:	48 8b f3             	mov    %rbx,%rsi
14012d74b:	48 0f af cd          	imul   %rbp,%rcx
14012d74f:	48 2b f1             	sub    %rcx,%rsi
14012d752:	48 8b 0f             	mov    (%rdi),%rcx
14012d755:	4a 89 04 f1          	mov    %rax,(%rcx,%r14,8)
14012d759:	49 83 ee 01          	sub    $0x1,%r14
14012d75d:	79 d1                	jns    0x14012d730
14012d75f:	8b 4f 08             	mov    0x8(%rdi),%ecx
14012d762:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14012d767:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
14012d76c:	44 8b c1             	mov    %ecx,%r8d
14012d76f:	85 c9                	test   %ecx,%ecx
14012d771:	7e 19                	jle    0x14012d78c
14012d773:	48 8b 07             	mov    (%rdi),%rax
14012d776:	44 8d 49 ff          	lea    -0x1(%rcx),%r9d
14012d77a:	48 63 d1             	movslq %ecx,%rdx
14012d77d:	48 83 7c d0 f8 00    	cmpq   $0x0,-0x8(%rax,%rdx,8)
14012d783:	75 07                	jne    0x14012d78c
14012d785:	44 89 4f 08          	mov    %r9d,0x8(%rdi)
14012d789:	45 8b c1             	mov    %r9d,%r8d
14012d78c:	49 8b cf             	mov    %r15,%rcx
14012d78f:	48 d3 ee             	shr    %cl,%rsi
14012d792:	45 85 c0             	test   %r8d,%r8d
14012d795:	75 04                	jne    0x14012d79b
14012d797:	44 89 47 10          	mov    %r8d,0x10(%rdi)
14012d79b:	48 8b c6             	mov    %rsi,%rax
14012d79e:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14012d7a3:	48 83 c4 20          	add    $0x20,%rsp
14012d7a7:	41 5f                	pop    %r15
14012d7a9:	5f                   	pop    %rdi
14012d7aa:	5e                   	pop    %rsi
14012d7ab:	c3                   	ret
14012d7ac:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14012d7b1:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14012d7b8:	48 83 c4 20          	add    $0x20,%rsp
14012d7bc:	41 5f                	pop    %r15
14012d7be:	5f                   	pop    %rdi
14012d7bf:	5e                   	pop    %rsi
14012d7c0:	c3                   	ret
14012d7c1:	cc                   	int3
14012d7c2:	cc                   	int3
14012d7c3:	cc                   	int3
14012d7c4:	cc                   	int3
14012d7c5:	cc                   	int3
14012d7c6:	cc                   	int3
14012d7c7:	cc                   	int3
14012d7c8:	cc                   	int3
14012d7c9:	cc                   	int3
14012d7ca:	cc                   	int3
14012d7cb:	cc                   	int3
14012d7cc:	cc                   	int3
14012d7cd:	cc                   	int3
14012d7ce:	cc                   	int3
14012d7cf:	cc                   	int3
14012d7d0:	40 55                	rex push %rbp
14012d7d2:	56                   	push   %rsi
14012d7d3:	57                   	push   %rdi
14012d7d4:	b8 20 00 00 00       	mov    $0x20,%eax
14012d7d9:	e8 52 33 18 00       	call   0x1402b0b30
14012d7de:	48 2b e0             	sub    %rax,%rsp
14012d7e1:	33 ff                	xor    %edi,%edi
14012d7e3:	48 8b ea             	mov    %rdx,%rbp
14012d7e6:	48 85 d2             	test   %rdx,%rdx
14012d7e9:	0f 84 70 01 00 00    	je     0x14012d95f
14012d7ef:	48 b8 00 00 00 00 01 	movabs $0x100000000,%rax
14012d7f6:	00 00 00
14012d7f9:	48 3b d0             	cmp    %rax,%rdx
14012d7fc:	0f 86 0a 01 00 00    	jbe    0x14012d90c
14012d802:	e8 59 34 fc ff       	call   0x1400f0c60
14012d807:	48 8b f0             	mov    %rax,%rsi
14012d80a:	48 85 c0             	test   %rax,%rax
14012d80d:	0f 84 4c 01 00 00    	je     0x14012d95f
14012d813:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
14012d818:	44 8b f7             	mov    %edi,%r14d
14012d81b:	39 78 08             	cmp    %edi,0x8(%rax)
14012d81e:	0f 84 d0 00 00 00    	je     0x14012d8f4
14012d824:	48 8b cd             	mov    %rbp,%rcx
14012d827:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
14012d82c:	e8 0f 3a fc ff       	call   0x1400f1240
14012d831:	41 b8 40 00 00 00    	mov    $0x40,%r8d
14012d837:	48 8b d6             	mov    %rsi,%rdx
14012d83a:	44 2b c0             	sub    %eax,%r8d
14012d83d:	4d 63 e0             	movslq %r8d,%r12
14012d840:	49 8b cc             	mov    %r12,%rcx
14012d843:	48 d3 e5             	shl    %cl,%rbp
14012d846:	48 8b ce             	mov    %rsi,%rcx
14012d849:	e8 32 80 00 00       	call   0x140135880
14012d84e:	85 c0                	test   %eax,%eax
14012d850:	75 09                	jne    0x14012d85b
14012d852:	49 8d 7e ff          	lea    -0x1(%r14),%rdi
14012d856:	e9 94 00 00 00       	jmp    0x14012d8ef
14012d85b:	8b 4e 08             	mov    0x8(%rsi),%ecx
14012d85e:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
14012d863:	8d 41 ff             	lea    -0x1(%rcx),%eax
14012d866:	4c 63 f8             	movslq %eax,%r15
14012d869:	85 c0                	test   %eax,%eax
14012d86b:	78 4d                	js     0x14012d8ba
14012d86d:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
14012d872:	0f 1f 40 00          	nopl   0x0(%rax)
14012d876:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14012d87d:	00 00 00
14012d880:	48 8b 06             	mov    (%rsi),%rax
14012d883:	4c 8b c5             	mov    %rbp,%r8
14012d886:	49 8b ce             	mov    %r14,%rcx
14012d889:	4a 8b 1c f8          	mov    (%rax,%r15,8),%rbx
14012d88d:	48 8b d3             	mov    %rbx,%rdx
14012d890:	e8 bb 39 08 00       	call   0x1401b1250
14012d895:	48 8b c8             	mov    %rax,%rcx
14012d898:	48 8b d0             	mov    %rax,%rdx
14012d89b:	48 8b 06             	mov    (%rsi),%rax
14012d89e:	4c 8b f3             	mov    %rbx,%r14
14012d8a1:	48 0f af cd          	imul   %rbp,%rcx
14012d8a5:	4a 89 14 f8          	mov    %rdx,(%rax,%r15,8)
14012d8a9:	4c 2b f1             	sub    %rcx,%r14
14012d8ac:	49 83 ef 01          	sub    $0x1,%r15
14012d8b0:	79 ce                	jns    0x14012d880
14012d8b2:	8b 4e 08             	mov    0x8(%rsi),%ecx
14012d8b5:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14012d8ba:	4c 8b 7c 24 58       	mov    0x58(%rsp),%r15
14012d8bf:	44 8b c1             	mov    %ecx,%r8d
14012d8c2:	85 c9                	test   %ecx,%ecx
14012d8c4:	7e 18                	jle    0x14012d8de
14012d8c6:	48 8b 06             	mov    (%rsi),%rax
14012d8c9:	44 8d 49 ff          	lea    -0x1(%rcx),%r9d
14012d8cd:	48 63 d1             	movslq %ecx,%rdx
14012d8d0:	48 39 7c d0 f8       	cmp    %rdi,-0x8(%rax,%rdx,8)
14012d8d5:	75 07                	jne    0x14012d8de
14012d8d7:	44 89 4e 08          	mov    %r9d,0x8(%rsi)
14012d8db:	45 8b c1             	mov    %r9d,%r8d
14012d8de:	49 8b cc             	mov    %r12,%rcx
14012d8e1:	49 d3 ee             	shr    %cl,%r14
14012d8e4:	45 85 c0             	test   %r8d,%r8d
14012d8e7:	75 03                	jne    0x14012d8ec
14012d8e9:	89 7e 10             	mov    %edi,0x10(%rsi)
14012d8ec:	49 8b fe             	mov    %r14,%rdi
14012d8ef:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
14012d8f4:	48 8b ce             	mov    %rsi,%rcx
14012d8f7:	e8 34 34 fc ff       	call   0x1400f0d30
14012d8fc:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
14012d901:	48 8b c7             	mov    %rdi,%rax
14012d904:	48 83 c4 20          	add    $0x20,%rsp
14012d908:	5f                   	pop    %rdi
14012d909:	5e                   	pop    %rsi
14012d90a:	5d                   	pop    %rbp
14012d90b:	c3                   	ret
14012d90c:	44 8b 41 08          	mov    0x8(%rcx),%r8d
14012d910:	41 83 e8 01          	sub    $0x1,%r8d
14012d914:	78 3e                	js     0x14012d954
14012d916:	48 8b 09             	mov    (%rcx),%rcx
14012d919:	49 63 c0             	movslq %r8d,%rax
14012d91c:	4c 8d 0c c1          	lea    (%rcx,%rax,8),%r9
14012d920:	49 8b 09             	mov    (%r9),%rcx
14012d923:	4d 8d 49 f8          	lea    -0x8(%r9),%r9
14012d927:	33 d2                	xor    %edx,%edx
14012d929:	48 c1 e7 20          	shl    $0x20,%rdi
14012d92d:	48 8b c1             	mov    %rcx,%rax
14012d930:	8b c9                	mov    %ecx,%ecx
14012d932:	48 c1 e8 20          	shr    $0x20,%rax
14012d936:	48 0b c7             	or     %rdi,%rax
14012d939:	48 f7 f5             	div    %rbp
14012d93c:	48 8b c2             	mov    %rdx,%rax
14012d93f:	33 d2                	xor    %edx,%edx
14012d941:	48 c1 e0 20          	shl    $0x20,%rax
14012d945:	48 0b c1             	or     %rcx,%rax
14012d948:	48 f7 f5             	div    %rbp
14012d94b:	41 83 e8 01          	sub    $0x1,%r8d
14012d94f:	48 8b fa             	mov    %rdx,%rdi
14012d952:	79 cc                	jns    0x14012d920
14012d954:	48 8b c7             	mov    %rdi,%rax
14012d957:	48 83 c4 20          	add    $0x20,%rsp
14012d95b:	5f                   	pop    %rdi
14012d95c:	5e                   	pop    %rsi
14012d95d:	5d                   	pop    %rbp
14012d95e:	c3                   	ret
14012d95f:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14012d966:	48 83 c4 20          	add    $0x20,%rsp
14012d96a:	5f                   	pop    %rdi
14012d96b:	5e                   	pop    %rsi
14012d96c:	5d                   	pop    %rbp
14012d96d:	c3                   	ret
14012d96e:	cc                   	int3
14012d96f:	cc                   	int3
14012d970:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14012d975:	57                   	push   %rdi
14012d976:	b8 20 00 00 00       	mov    $0x20,%eax
14012d97b:	e8 b0 31 18 00       	call   0x1402b0b30
14012d980:	48 2b e0             	sub    %rax,%rsp
14012d983:	44 8b 41 08          	mov    0x8(%rcx),%r8d
14012d987:	48 8b d9             	mov    %rcx,%rbx
14012d98a:	45 85 c0             	test   %r8d,%r8d
14012d98d:	74 5b                	je     0x14012d9ea
14012d98f:	48 85 d2             	test   %rdx,%rdx
14012d992:	75 15                	jne    0x14012d9a9
14012d994:	e8 07 3d fc ff       	call   0x1400f16a0
14012d999:	b8 01 00 00 00       	mov    $0x1,%eax
14012d99e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14012d9a3:	48 83 c4 20          	add    $0x20,%rsp
14012d9a7:	5f                   	pop    %rdi
14012d9a8:	c3                   	ret
14012d9a9:	48 8b 09             	mov    (%rcx),%rcx
14012d9ac:	4c 8b ca             	mov    %rdx,%r9
14012d9af:	48 8b d1             	mov    %rcx,%rdx
14012d9b2:	e8 a9 46 08 00       	call   0x1401b2060
14012d9b7:	48 8b f8             	mov    %rax,%rdi
14012d9ba:	48 85 c0             	test   %rax,%rax
14012d9bd:	74 2b                	je     0x14012d9ea
14012d9bf:	8b 53 08             	mov    0x8(%rbx),%edx
14012d9c2:	48 8b cb             	mov    %rbx,%rcx
14012d9c5:	ff c2                	inc    %edx
14012d9c7:	e8 04 42 fc ff       	call   0x1400f1bd0
14012d9cc:	48 85 c0             	test   %rax,%rax
14012d9cf:	75 0b                	jne    0x14012d9dc
14012d9d1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14012d9d6:	48 83 c4 20          	add    $0x20,%rsp
14012d9da:	5f                   	pop    %rdi
14012d9db:	c3                   	ret
14012d9dc:	48 63 4b 08          	movslq 0x8(%rbx),%rcx
14012d9e0:	48 8b 03             	mov    (%rbx),%rax
14012d9e3:	48 89 3c c8          	mov    %rdi,(%rax,%rcx,8)
14012d9e7:	ff 43 08             	incl   0x8(%rbx)
14012d9ea:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14012d9ef:	b8 01 00 00 00       	mov    $0x1,%eax
14012d9f4:	48 83 c4 20          	add    $0x20,%rsp
14012d9f8:	5f                   	pop    %rdi
14012d9f9:	c3                   	ret
14012d9fa:	cc                   	int3
14012d9fb:	cc                   	int3
14012d9fc:	cc                   	int3
14012d9fd:	cc                   	int3
14012d9fe:	cc                   	int3
14012d9ff:	cc                   	int3
14012da00:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14012da05:	57                   	push   %rdi
14012da06:	b8 20 00 00 00       	mov    $0x20,%eax
14012da0b:	e8 20 31 18 00       	call   0x1402b0b30
14012da10:	48 2b e0             	sub    %rax,%rsp
14012da13:	48 8b fa             	mov    %rdx,%rdi
14012da16:	48 8b d9             	mov    %rcx,%rbx
14012da19:	48 85 d2             	test   %rdx,%rdx
14012da1c:	0f 84 e6 00 00 00    	je     0x14012db08
14012da22:	e8 69 34 fc ff       	call   0x1400f0e90
14012da27:	85 c0                	test   %eax,%eax
14012da29:	74 2b                	je     0x14012da56
14012da2b:	48 8b d7             	mov    %rdi,%rdx
14012da2e:	48 8b cb             	mov    %rbx,%rcx
14012da31:	e8 5a 3a fc ff       	call   0x1400f1490
14012da36:	8b f8                	mov    %eax,%edi
14012da38:	85 c0                	test   %eax,%eax
14012da3a:	74 0d                	je     0x14012da49
14012da3c:	ba 01 00 00 00       	mov    $0x1,%edx
14012da41:	48 8b cb             	mov    %rbx,%rcx
14012da44:	e8 27 3a fc ff       	call   0x1400f1470
14012da49:	8b c7                	mov    %edi,%eax
14012da4b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14012da50:	48 83 c4 20          	add    $0x20,%rsp
14012da54:	5f                   	pop    %rdi
14012da55:	c3                   	ret
14012da56:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
14012da5a:	74 22                	je     0x14012da7e
14012da5c:	33 d2                	xor    %edx,%edx
14012da5e:	48 8b cb             	mov    %rbx,%rcx
14012da61:	89 53 10             	mov    %edx,0x10(%rbx)
14012da64:	48 8b d7             	mov    %rdi,%rdx
14012da67:	e8 84 fa ff ff       	call   0x14012d4f0
14012da6c:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
14012da73:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14012da78:	48 83 c4 20          	add    $0x20,%rsp
14012da7c:	5f                   	pop    %rdi
14012da7d:	c3                   	ret
14012da7e:	83 7b 08 01          	cmpl   $0x1,0x8(%rbx)
14012da82:	75 28                	jne    0x14012daac
14012da84:	48 8b 03             	mov    (%rbx),%rax
14012da87:	48 8b 08             	mov    (%rax),%rcx
14012da8a:	48 3b cf             	cmp    %rdi,%rcx
14012da8d:	73 1d                	jae    0x14012daac
14012da8f:	48 2b f9             	sub    %rcx,%rdi
14012da92:	48 89 38             	mov    %rdi,(%rax)
14012da95:	b8 01 00 00 00       	mov    $0x1,%eax
14012da9a:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
14012daa1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14012daa6:	48 83 c4 20          	add    $0x20,%rsp
14012daaa:	5f                   	pop    %rdi
14012daab:	c3                   	ret
14012daac:	4c 8b 03             	mov    (%rbx),%r8
14012daaf:	33 d2                	xor    %edx,%edx
14012dab1:	49 39 38             	cmp    %rdi,(%r8)
14012dab4:	73 2d                	jae    0x14012dae3
14012dab6:	8b ca                	mov    %edx,%ecx
14012dab8:	44 8b ca             	mov    %edx,%r9d
14012dabb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14012dac0:	48 8b 03             	mov    (%rbx),%rax
14012dac3:	48 8d 49 01          	lea    0x1(%rcx),%rcx
14012dac7:	ff c2                	inc    %edx
14012dac9:	49 29 3c 01          	sub    %rdi,(%r9,%rax,1)
14012dacd:	bf 01 00 00 00       	mov    $0x1,%edi
14012dad2:	4c 8b 03             	mov    (%rbx),%r8
14012dad5:	4c 8d 0c cd 00 00 00 	lea    0x0(,%rcx,8),%r9
14012dadc:	00
14012dadd:	4b 39 3c 08          	cmp    %rdi,(%r8,%r9,1)
14012dae1:	72 dd                	jb     0x14012dac0
14012dae3:	48 63 c2             	movslq %edx,%rax
14012dae6:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
14012daed:	00
14012daee:	4a 29 3c 01          	sub    %rdi,(%rcx,%r8,1)
14012daf2:	48 8b 03             	mov    (%rbx),%rax
14012daf5:	48 83 3c 01 00       	cmpq   $0x0,(%rcx,%rax,1)