14023e6ea:	48 8d 05 a3 e3 0b 00 	lea    0xbe3a3(%rip),%rax        # 0x1402fca94
14023e6f1:	c7 43 1c 10 00 00 00 	movl   $0x10,0x1c(%rbx)
14023e6f8:	48 0f 44 f8          	cmove  %rax,%rdi
14023e6fc:	c7 43 24 08 00 00 00 	movl   $0x8,0x24(%rbx)
14023e703:	48 85 f6             	test   %rsi,%rsi
14023e706:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14023e70a:	48 8d 05 8f 00 00 00 	lea    0x8f(%rip),%rax        # 0x14023e7a0
14023e711:	c7 43 28 00 02 00 00 	movl   $0x200,0x28(%rbx)
14023e718:	48 0f 44 f0          	cmove  %rax,%rsi
14023e71c:	c7 43 2c 00 01 00 00 	movl   $0x100,0x2c(%rbx)
14023e723:	48 89 73 10          	mov    %rsi,0x10(%rbx)
14023e727:	48 8b c3             	mov    %rbx,%rax
14023e72a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14023e72f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14023e734:	48 83 c4 20          	add    $0x20,%rsp
14023e738:	5f                   	pop    %rdi
14023e739:	c3                   	ret
14023e73a:	cc                   	int3
14023e73b:	cc                   	int3
14023e73c:	cc                   	int3
14023e73d:	cc                   	int3
14023e73e:	cc                   	int3
14023e73f:	cc                   	int3
14023e740:	48 85 c9             	test   %rcx,%rcx
14023e743:	74 04                	je     0x14023e749
14023e745:	8b 41 30             	mov    0x30(%rcx),%eax
14023e748:	c3                   	ret
14023e749:	33 c0                	xor    %eax,%eax
14023e74b:	c3                   	ret
14023e74c:	cc                   	int3
14023e74d:	cc                   	int3
14023e74e:	cc                   	int3
14023e74f:	cc                   	int3
14023e750:	40 53                	rex push %rbx
14023e752:	b8 20 00 00 00       	mov    $0x20,%eax
14023e757:	e8 84 be 0b 00       	call   0x1402fa5e0
14023e75c:	48 2b e0             	sub    %rax,%rsp
14023e75f:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14023e764:	c7 41 68 00 00 00 00 	movl   $0x0,0x68(%rcx)
14023e76b:	48 8b d9             	mov    %rcx,%rbx
14023e76e:	e8 8d 00 00 00       	call   0x14023e800
14023e773:	ba 01 00 00 00       	mov    $0x1,%edx
14023e778:	48 8b 00             	mov    (%rax),%rax
14023e77b:	48 85 c0             	test   %rax,%rax
14023e77e:	75 0b                	jne    0x14023e78b
14023e780:	f0 0f c1 53 60       	lock xadd %edx,0x60(%rbx)
14023e785:	48 83 c4 20          	add    $0x20,%rsp
14023e789:	5b                   	pop    %rbx
14023e78a:	c3                   	ret
14023e78b:	48 8b 00             	mov    (%rax),%rax
14023e78e:	f0 0f c1 53 5c       	lock xadd %edx,0x5c(%rbx)
14023e793:	48 83 c4 20          	add    $0x20,%rsp
14023e797:	5b                   	pop    %rbx
14023e798:	c3                   	ret
14023e799:	cc                   	int3
14023e79a:	cc                   	int3
14023e79b:	cc                   	int3
14023e79c:	cc                   	int3
14023e79d:	cc                   	int3
14023e79e:	cc                   	int3
14023e79f:	cc                   	int3
14023e7a0:	33 d2                	xor    %edx,%edx
14023e7a2:	4c 8b c9             	mov    %rcx,%r9
14023e7a5:	48 85 c9             	test   %rcx,%rcx
14023e7a8:	74 4d                	je     0x14023e7f7
14023e7aa:	0f b6 01             	movzbl (%rcx),%eax
14023e7ad:	84 c0                	test   %al,%al
14023e7af:	74 46                	je     0x14023e7f7
14023e7b1:	41 ba 00 01 00 00    	mov    $0x100,%r10d
14023e7b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14023e7be:	00 00
14023e7c0:	44 0f be c0          	movsbl %al,%r8d
14023e7c4:	4d 8d 49 01          	lea    0x1(%r9),%r9
14023e7c8:	41 0f b6 01          	movzbl (%r9),%eax
14023e7cc:	45 0b c2             	or     %r10d,%r8d
14023e7cf:	41 8b c8             	mov    %r8d,%ecx
14023e7d2:	41 81 c2 00 01 00 00 	add    $0x100,%r10d
14023e7d9:	c1 e9 02             	shr    $0x2,%ecx
14023e7dc:	41 33 c8             	xor    %r8d,%ecx
14023e7df:	45 0f af c0          	imul   %r8d,%r8d
14023e7e3:	83 e1 0f             	and    $0xf,%ecx
14023e7e6:	d3 c2                	rol    %cl,%edx
14023e7e8:	41 33 d0             	xor    %r8d,%edx
14023e7eb:	84 c0                	test   %al,%al
14023e7ed:	75 d1                	jne    0x14023e7c0
14023e7ef:	8b c2                	mov    %edx,%eax
14023e7f1:	c1 e8 10             	shr    $0x10,%eax
14023e7f4:	33 c2                	xor    %edx,%eax
14023e7f6:	c3                   	ret
14023e7f7:	33 c0                	xor    %eax,%eax
14023e7f9:	c3                   	ret
14023e7fa:	cc                   	int3
14023e7fb:	cc                   	int3
14023e7fc:	cc                   	int3
14023e7fd:	cc                   	int3
14023e7fe:	cc                   	int3
14023e7ff:	cc                   	int3
14023e800:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14023e805:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14023e80a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14023e80f:	57                   	push   %rdi
14023e810:	41 56                	push   %r14
14023e812:	41 57                	push   %r15
14023e814:	b8 20 00 00 00       	mov    $0x20,%eax
14023e819:	e8 c2 bd 0b 00       	call   0x1402fa5e0
14023e81e:	48 2b e0             	sub    %rax,%rsp
14023e821:	48 8b f9             	mov    %rcx,%rdi
14023e824:	49 8b d8             	mov    %r8,%rbx
14023e827:	48 8b ca             	mov    %rdx,%rcx
14023e82a:	4c 8b fa             	mov    %rdx,%r15
14023e82d:	ff 57 10             	call   *0x10(%rdi)
14023e830:	8b e8                	mov    %eax,%ebp
14023e832:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14023e838:	f0 44 0f c1 4f 44    	lock xadd %r9d,0x44(%rdi)
14023e83e:	33 d2                	xor    %edx,%edx
14023e840:	89 03                	mov    %eax,(%rbx)
14023e842:	f7 77 24             	divl   0x24(%rdi)
14023e845:	3b 57 20             	cmp    0x20(%rdi),%edx
14023e848:	73 07                	jae    0x14023e851
14023e84a:	33 d2                	xor    %edx,%edx
14023e84c:	8b c5                	mov    %ebp,%eax
14023e84e:	f7 77 1c             	divl   0x1c(%rdi)
14023e851:	48 8b 07             	mov    (%rdi),%rax
14023e854:	4c 8b 77 08          	mov    0x8(%rdi),%r14
14023e858:	48 63 ca             	movslq %edx,%rcx
14023e85b:	48 8b 1c c8          	mov    (%rax,%rcx,8),%rbx
14023e85f:	48 8d 34 c8          	lea    (%rax,%rcx,8),%rsi
14023e863:	48 85 db             	test   %rbx,%rbx
14023e866:	74 3b                	je     0x14023e8a3
14023e868:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14023e86f:	00
14023e870:	b8 01 00 00 00       	mov    $0x1,%eax
14023e875:	f0 0f c1 47 64       	lock xadd %eax,0x64(%rdi)
14023e87a:	39 6b 10             	cmp    %ebp,0x10(%rbx)
14023e87d:	75 17                	jne    0x14023e896
14023e87f:	b8 01 00 00 00       	mov    $0x1,%eax
14023e884:	f0 0f c1 47 48       	lock xadd %eax,0x48(%rdi)
14023e889:	48 8b 0b             	mov    (%rbx),%rcx
14023e88c:	49 8b d7             	mov    %r15,%rdx
14023e88f:	41 ff d6             	call   *%r14
14023e892:	85 c0                	test   %eax,%eax
14023e894:	74 0d                	je     0x14023e8a3
14023e896:	48 8d 73 08          	lea    0x8(%rbx),%rsi
14023e89a:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14023e89e:	48 85 db             	test   %rbx,%rbx
14023e8a1:	75 cd                	jne    0x14023e870
14023e8a3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14023e8a8:	48 8b c6             	mov    %rsi,%rax
14023e8ab:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14023e8b0:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14023e8b5:	48 83 c4 20          	add    $0x20,%rsp
14023e8b9:	41 5f                	pop    %r15
14023e8bb:	41 5e                	pop    %r14
14023e8bd:	5f                   	pop    %rdi
14023e8be:	c3                   	ret
14023e8bf:	cc                   	int3
14023e8c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14023e8c5:	57                   	push   %rdi
14023e8c6:	b8 20 00 00 00       	mov    $0x20,%eax
14023e8cb:	e8 10 bd 0b 00       	call   0x1402fa5e0
14023e8d0:	48 2b e0             	sub    %rax,%rsp
14023e8d3:	33 db                	xor    %ebx,%ebx
14023e8d5:	48 8b f9             	mov    %rcx,%rdi
14023e8d8:	48 85 c9             	test   %rcx,%rcx
14023e8db:	74 56                	je     0x14023e933
14023e8dd:	0f b6 01             	movzbl (%rcx),%eax
14023e8e0:	84 c0                	test   %al,%al
14023e8e2:	74 4f                	je     0x14023e933
14023e8e4:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
14023e8e9:	be 00 01 00 00       	mov    $0x100,%esi
14023e8ee:	66 90                	xchg   %ax,%ax
14023e8f0:	0f be c8             	movsbl %al,%ecx
14023e8f3:	e8 68 dc 02 00       	call   0x14026c560
14023e8f8:	0b c6                	or     %esi,%eax
14023e8fa:	48 8d 7f 01          	lea    0x1(%rdi),%rdi
14023e8fe:	8b c8                	mov    %eax,%ecx
14023e900:	81 c6 00 01 00 00    	add    $0x100,%esi
14023e906:	c1 e9 02             	shr    $0x2,%ecx
14023e909:	33 c8                	xor    %eax,%ecx
14023e90b:	0f af c0             	imul   %eax,%eax
14023e90e:	83 e1 0f             	and    $0xf,%ecx
14023e911:	d3 c3                	rol    %cl,%ebx
14023e913:	33 d8                	xor    %eax,%ebx
14023e915:	0f b6 07             	movzbl (%rdi),%eax
14023e918:	84 c0                	test   %al,%al
14023e91a:	75 d4                	jne    0x14023e8f0
14023e91c:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14023e921:	8b c3                	mov    %ebx,%eax
14023e923:	c1 e8 10             	shr    $0x10,%eax
14023e926:	33 c3                	xor    %ebx,%eax
14023e928:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14023e92d:	48 83 c4 20          	add    $0x20,%rsp
14023e931:	5f                   	pop    %rdi
14023e932:	c3                   	ret
14023e933:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14023e938:	33 c0                	xor    %eax,%eax
14023e93a:	48 83 c4 20          	add    $0x20,%rsp
14023e93e:	5f                   	pop    %rdi
14023e93f:	c3                   	ret
14023e940:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14023e945:	53                   	push   %rbx
14023e946:	41 54                	push   %r12
14023e948:	41 55                	push   %r13
14023e94a:	41 56                	push   %r14
14023e94c:	b8 28 00 00 00       	mov    $0x28,%eax
14023e951:	e8 8a bc 0b 00       	call   0x1402fa5e0
14023e956:	48 2b e0             	sub    %rax,%rsp
14023e959:	45 33 f6             	xor    %r14d,%r14d
14023e95c:	45 8b e1             	mov    %r9d,%r12d
14023e95f:	41 8b d8             	mov    %r8d,%ebx
14023e962:	4c 8b ea             	mov    %rdx,%r13
14023e965:	45 85 c0             	test   %r8d,%r8d
14023e968:	74 7b                	je     0x14023e9e5
14023e96a:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
14023e96f:	41 8b f6             	mov    %r14d,%esi
14023e972:	85 db                	test   %ebx,%ebx
14023e974:	7e 6a                	jle    0x14023e9e0
14023e976:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
14023e97b:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
14023e980:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
14023e985:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14023e98a:	4c 8b 7c 24 70       	mov    0x70(%rsp),%r15
14023e98f:	90                   	nop
14023e990:	8d 04 33             	lea    (%rbx,%rsi,1),%eax
14023e993:	99                   	cltd
14023e994:	2b c2                	sub    %edx,%eax
14023e996:	d1 f8                	sar    $1,%eax
14023e998:	8b c8                	mov    %eax,%ecx
14023e99a:	8b f8                	mov    %eax,%edi
14023e99c:	41 0f af cc          	imul   %r12d,%ecx
14023e9a0:	48 63 e9             	movslq %ecx,%rbp
14023e9a3:	49 8b ce             	mov    %r14,%rcx
14023e9a6:	49 03 ed             	add    %r13,%rbp
14023e9a9:	48 8b d5             	mov    %rbp,%rdx
14023e9ac:	41 ff d7             	call   *%r15
14023e9af:	85 c0                	test   %eax,%eax
14023e9b1:	79 04                	jns    0x14023e9b7
14023e9b3:	8b df                	mov    %edi,%ebx
14023e9b5:	eb 05                	jmp    0x14023e9bc
14023e9b7:	7e 07                	jle    0x14023e9c0
14023e9b9:	8d 77 01             	lea    0x1(%rdi),%esi
14023e9bc:	3b f3                	cmp    %ebx,%esi
14023e9be:	7c d0                	jl     0x14023e990
14023e9c0:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
14023e9c5:	41 be 00 00 00 00    	mov    $0x0,%r14d
14023e9cb:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
14023e9d0:	85 c0                	test   %eax,%eax
14023e9d2:	49 0f 45 ee          	cmovne %r14,%rbp
14023e9d6:	4c 8b f5             	mov    %rbp,%r14
14023e9d9:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14023e9de:	66 90                	xchg   %ax,%ax
14023e9e0:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14023e9e5:	49 8b c6             	mov    %r14,%rax
14023e9e8:	48 83 c4 28          	add    $0x28,%rsp
14023e9ec:	41 5e                	pop    %r14
14023e9ee:	41 5d                	pop    %r13
14023e9f0:	41 5c                	pop    %r12
14023e9f2:	5b                   	pop    %rbx
14023e9f3:	c3                   	ret
14023e9f4:	cc                   	int3
14023e9f5:	cc                   	int3
14023e9f6:	cc                   	int3
14023e9f7:	cc                   	int3
14023e9f8:	cc                   	int3
14023e9f9:	cc                   	int3
14023e9fa:	cc                   	int3
14023e9fb:	cc                   	int3
14023e9fc:	cc                   	int3
14023e9fd:	cc                   	int3
14023e9fe:	cc                   	int3
14023e9ff:	cc                   	int3
14023ea00:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14023ea05:	56                   	push   %rsi
14023ea06:	57                   	push   %rdi
14023ea07:	41 55                	push   %r13
14023ea09:	41 56                	push   %r14
14023ea0b:	41 57                	push   %r15
14023ea0d:	b8 20 00 00 00       	mov    $0x20,%eax
14023ea12:	e8 c9 bb 0b 00       	call   0x1402fa5e0
14023ea17:	48 2b e0             	sub    %rax,%rsp
14023ea1a:	33 db                	xor    %ebx,%ebx
14023ea1c:	33 ff                	xor    %edi,%edi
14023ea1e:	45 8b f1             	mov    %r9d,%r14d
14023ea21:	41 8b f0             	mov    %r8d,%esi
14023ea24:	4c 8b fa             	mov    %rdx,%r15
14023ea27:	4c 8b e9             	mov    %rcx,%r13
14023ea2a:	45 85 c0             	test   %r8d,%r8d
14023ea2d:	75 14                	jne    0x14023ea43
14023ea2f:	33 c0                	xor    %eax,%eax
14023ea31:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14023ea36:	48 83 c4 20          	add    $0x20,%rsp
14023ea3a:	41 5f                	pop    %r15
14023ea3c:	41 5e                	pop    %r14
14023ea3e:	41 5d                	pop    %r13
14023ea40:	5f                   	pop    %rdi
14023ea41:	5e                   	pop    %rsi
14023ea42:	c3                   	ret
14023ea43:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14023ea48:	33 ed                	xor    %ebp,%ebp
14023ea4a:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
14023ea4f:	4c 8b 64 24 70       	mov    0x70(%rsp),%r12
14023ea54:	45 85 c0             	test   %r8d,%r8d
14023ea57:	7e 44                	jle    0x14023ea9d
14023ea59:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14023ea60:	8d 04 2e             	lea    (%rsi,%rbp,1),%eax
14023ea63:	49 8b cd             	mov    %r13,%rcx
14023ea66:	99                   	cltd
14023ea67:	2b c2                	sub    %edx,%eax
14023ea69:	d1 f8                	sar    $1,%eax
14023ea6b:	8b d8                	mov    %eax,%ebx
14023ea6d:	41 0f af c6          	imul   %r14d,%eax
14023ea71:	48 63 f8             	movslq %eax,%rdi
14023ea74:	49 03 ff             	add    %r15,%rdi
14023ea77:	48 8b d7             	mov    %rdi,%rdx
14023ea7a:	41 ff d4             	call   *%r12
14023ea7d:	85 c0                	test   %eax,%eax
14023ea7f:	79 04                	jns    0x14023ea85
14023ea81:	8b f3                	mov    %ebx,%esi
14023ea83:	eb 05                	jmp    0x14023ea8a
14023ea85:	7e 07                	jle    0x14023ea8e
14023ea87:	8d 6b 01             	lea    0x1(%rbx),%ebp
14023ea8a:	3b ee                	cmp    %esi,%ebp
14023ea8c:	7c d2                	jl     0x14023ea60
14023ea8e:	85 c0                	test   %eax,%eax
14023ea90:	74 0b                	je     0x14023ea9d
14023ea92:	f6 44 24 78 01       	testb  $0x1,0x78(%rsp)
14023ea97:	75 3a                	jne    0x14023ead3
14023ea99:	33 ff                	xor    %edi,%edi
14023ea9b:	eb 36                	jmp    0x14023ead3
14023ea9d:	f6 44 24 78 02       	testb  $0x2,0x78(%rsp)
14023eaa2:	74 2f                	je     0x14023ead3
14023eaa4:	85 db                	test   %ebx,%ebx
14023eaa6:	7e 21                	jle    0x14023eac9
14023eaa8:	8d 7b ff             	lea    -0x1(%rbx),%edi
14023eaab:	41 0f af fe          	imul   %r14d,%edi
14023eaaf:	90                   	nop
14023eab0:	48 63 d7             	movslq %edi,%rdx
14023eab3:	49 8b cd             	mov    %r13,%rcx
14023eab6:	49 03 d7             	add    %r15,%rdx
14023eab9:	41 ff d4             	call   *%r12
14023eabc:	85 c0                	test   %eax,%eax
14023eabe:	75 09                	jne    0x14023eac9
14023eac0:	ff cb                	dec    %ebx
14023eac2:	41 2b fe             	sub    %r14d,%edi
14023eac5:	85 db                	test   %ebx,%ebx
14023eac7:	7f e7                	jg     0x14023eab0
14023eac9:	41 0f af de          	imul   %r14d,%ebx
14023eacd:	48 63 fb             	movslq %ebx,%rdi
14023ead0:	49 03 ff             	add    %r15,%rdi
14023ead3:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12