14003984b:	48 8d 0d 2e 6a 0b 00 	lea    0xb6a2e(%rip),%rcx        # 0x1400f0280
140039852:	80 78 14 00          	cmpb   $0x0,0x14(%rax)
140039856:	48 0f 45 ca          	cmovne %rdx,%rcx
14003985a:	45 8b 44 24 18       	mov    0x18(%r12),%r8d
14003985f:	49 8b 17             	mov    (%r15),%rdx
140039862:	48 8b 01             	mov    (%rcx),%rax
140039865:	48 8b 40 40          	mov    0x40(%rax),%rax
140039869:	ff 15 99 d4 0b 00    	call   *0xbd499(%rip)        # 0x1400f6d08
14003986f:	49 89 07             	mov    %rax,(%r15)
140039872:	41 8b 47 18          	mov    0x18(%r15),%eax
140039876:	8d 48 01             	lea    0x1(%rax),%ecx
140039879:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
14003987f:	25 00 80 ff ff       	and    $0xffff8000,%eax
140039884:	09 c8                	or     %ecx,%eax
140039886:	41 89 47 18          	mov    %eax,0x18(%r15)
14003988a:	49 8b 47 10          	mov    0x10(%r15),%rax
14003988e:	8b 40 18             	mov    0x18(%rax),%eax
140039891:	48 03 86 a0 18 00 00 	add    0x18a0(%rsi),%rax
140039898:	48 89 86 a0 18 00 00 	mov    %rax,0x18a0(%rsi)
14003989f:	48 8b 8e a8 18 00 00 	mov    0x18a8(%rsi),%rcx
1400398a6:	48 39 c1             	cmp    %rax,%rcx
1400398a9:	48 0f 47 c1          	cmova  %rcx,%rax
1400398ad:	48 89 86 a8 18 00 00 	mov    %rax,0x18a8(%rsi)
1400398b4:	49 8b 47 10          	mov    0x10(%r15),%rax
1400398b8:	44 8b 60 18          	mov    0x18(%rax),%r12d
1400398bc:	48 89 d9             	mov    %rbx,%rcx
1400398bf:	ff 15 73 df 0b 00    	call   *0xbdf73(%rip)        # 0x1400f7838
1400398c5:	80 7e 02 01          	cmpb   $0x1,0x2(%rsi)
1400398c9:	0f 84 80 fd ff ff    	je     0x14003964f
1400398cf:	e9 92 fd ff ff       	jmp    0x140039666
1400398d4:	48 8d 44 24 47       	lea    0x47(%rsp),%rax
1400398d9:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400398de:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
1400398e3:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400398e8:	48 c7 44 24 20 00 40 	movq   $0x4000,0x20(%rsp)
1400398ef:	00 00
1400398f1:	4c 89 e9             	mov    %r13,%rcx
1400398f4:	48 89 f2             	mov    %rsi,%rdx
1400398f7:	41 b8 10 00 00 00    	mov    $0x10,%r8d
1400398fd:	4d 89 f1             	mov    %r14,%r9
140039900:	e8 7b a8 00 00       	call   0x140044180
140039905:	48 85 c0             	test   %rax,%rax
140039908:	0f 84 8f 00 00 00    	je     0x14003999d
14003990e:	48 89 c7             	mov    %rax,%rdi
140039911:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140039916:	e8 15 a2 00 00       	call   0x140043b30
14003991b:	84 c0                	test   %al,%al
14003991d:	0f 84 9a 00 00 00    	je     0x1400399bd
140039923:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140039928:	41 83 7c 24 18 00    	cmpl   $0x0,0x18(%r12)
14003992e:	78 7d                	js     0x1400399ad
140039930:	49 8b 44 24 10       	mov    0x10(%r12),%rax
140039935:	44 8b 70 18          	mov    0x18(%rax),%r14d
140039939:	8b 46 18             	mov    0x18(%rsi),%eax
14003993c:	49 29 c6             	sub    %rax,%r14
14003993f:	e9 48 fe ff ff       	jmp    0x14003978c
140039944:	48 8d 44 24 47       	lea    0x47(%rsp),%rax
140039949:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14003994e:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
140039953:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140039958:	48 c7 44 24 20 00 40 	movq   $0x4000,0x20(%rsp)
14003995f:	00 00
140039961:	4c 89 e1             	mov    %r12,%rcx
140039964:	48 89 f2             	mov    %rsi,%rdx
140039967:	41 b8 10 00 00 00    	mov    $0x10,%r8d
14003996d:	4d 89 f1             	mov    %r14,%r9
140039970:	e8 0b a8 00 00       	call   0x140044180
140039975:	48 85 c0             	test   %rax,%rax
140039978:	74 1e                	je     0x140039998
14003997a:	48 89 c7             	mov    %rax,%rdi
14003997d:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140039982:	e8 a9 a1 00 00       	call   0x140043b30
140039987:	84 c0                	test   %al,%al
140039989:	74 2f                	je     0x1400399ba
14003998b:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
140039990:	e9 f5 fe ff ff       	jmp    0x14003988a
140039995:	cc                   	int3
140039996:	0f 0b                	ud2
140039998:	48 89 d9             	mov    %rbx,%rcx
14003999b:	eb 03                	jmp    0x1400399a0
14003999d:	4c 89 f9             	mov    %r15,%rcx
1400399a0:	ff 15 92 de 0b 00    	call   *0xbde92(%rip)        # 0x1400f7838
1400399a6:	31 ff                	xor    %edi,%edi
1400399a8:	e9 b9 fc ff ff       	jmp    0x140039666
1400399ad:	4d 8b 74 24 20       	mov    0x20(%r12),%r14
1400399b2:	eb 85                	jmp    0x140039939
1400399b4:	cc                   	int3
1400399b5:	0f 0b                	ud2
1400399b7:	cc                   	int3
1400399b8:	0f 0b                	ud2
1400399ba:	cc                   	int3
1400399bb:	0f 0b                	ud2
1400399bd:	cc                   	int3
1400399be:	0f 0b                	ud2
1400399c0:	cc                   	int3
1400399c1:	cc                   	int3
1400399c2:	cc                   	int3
1400399c3:	cc                   	int3
1400399c4:	cc                   	int3
1400399c5:	cc                   	int3
1400399c6:	cc                   	int3
1400399c7:	cc                   	int3
1400399c8:	cc                   	int3
1400399c9:	cc                   	int3
1400399ca:	cc                   	int3
1400399cb:	cc                   	int3
1400399cc:	cc                   	int3
1400399cd:	cc                   	int3
1400399ce:	cc                   	int3
1400399cf:	cc                   	int3
1400399d0:	56                   	push   %rsi
1400399d1:	57                   	push   %rdi
1400399d2:	53                   	push   %rbx
1400399d3:	48 83 ec 20          	sub    $0x20,%rsp
1400399d7:	48 89 ce             	mov    %rcx,%rsi
1400399da:	48 85 d2             	test   %rdx,%rdx
1400399dd:	0f 84 8a 00 00 00    	je     0x140039a6d
1400399e3:	48 89 d7             	mov    %rdx,%rdi
1400399e6:	48 89 d0             	mov    %rdx,%rax
1400399e9:	48 c1 e8 3d          	shr    $0x3d,%rax
1400399ed:	0f 85 b1 01 00 00    	jne    0x140039ba4
1400399f3:	e8 68 a0 00 00       	call   0x140043a60
1400399f8:	48 8d 14 fd 00 00 00 	lea    0x0(,%rdi,8),%rdx
1400399ff:	00
140039a00:	48 89 c1             	mov    %rax,%rcx
140039a03:	45 31 c0             	xor    %r8d,%r8d
140039a06:	e8 b5 fa ff ff       	call   0x1400394c0
140039a0b:	48 8b 1e             	mov    (%rsi),%rbx
140039a0e:	48 89 06             	mov    %rax,(%rsi)
140039a11:	48 85 db             	test   %rbx,%rbx
140039a14:	74 10                	je     0x140039a26
140039a16:	e8 45 a0 00 00       	call   0x140043a60
140039a1b:	48 89 c1             	mov    %rax,%rcx
140039a1e:	48 89 da             	mov    %rbx,%rdx
140039a21:	e8 da f1 ff ff       	call   0x140038c00
140039a26:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140039a2a:	31 c0                	xor    %eax,%eax
140039a2c:	0f 1f 40 00          	nopl   0x0(%rax)
140039a30:	48 8b 0e             	mov    (%rsi),%rcx
140039a33:	48 c7 04 c1 00 00 00 	movq   $0x0,(%rcx,%rax,8)
140039a3a:	00
140039a3b:	48 ff c0             	inc    %rax
140039a3e:	48 39 c7             	cmp    %rax,%rdi
140039a41:	75 ed                	jne    0x140039a30
140039a43:	4c 8b 46 10          	mov    0x10(%rsi),%r8
140039a47:	4d 85 c0             	test   %r8,%r8
140039a4a:	74 48                	je     0x140039a94
140039a4c:	4c 8d 4e 10          	lea    0x10(%rsi),%r9
140039a50:	49 8b 48 08          	mov    0x8(%r8),%rcx
140039a54:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140039a58:	48 85 c7             	test   %rax,%rdi
140039a5b:	0f 85 8f 00 00 00    	jne    0x140039af0
140039a61:	48 21 c1             	and    %rax,%rcx
140039a64:	48 8b 16             	mov    (%rsi),%rdx
140039a67:	4c 89 0c ca          	mov    %r9,(%rdx,%rcx,8)
140039a6b:	eb 46                	jmp    0x140039ab3
140039a6d:	48 8b 3e             	mov    (%rsi),%rdi
140039a70:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
140039a77:	48 85 ff             	test   %rdi,%rdi
140039a7a:	74 10                	je     0x140039a8c
140039a7c:	e8 df 9f 00 00       	call   0x140043a60
140039a81:	48 89 c1             	mov    %rax,%rcx
140039a84:	48 89 fa             	mov    %rdi,%rdx
140039a87:	e8 74 f1 ff ff       	call   0x140038c00
140039a8c:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
140039a93:	00
140039a94:	48 83 c4 20          	add    $0x20,%rsp
140039a98:	5b                   	pop    %rbx
140039a99:	5f                   	pop    %rdi
140039a9a:	5e                   	pop    %rsi
140039a9b:	c3                   	ret
140039a9c:	4f 89 04 ca          	mov    %r8,(%r10,%r9,8)
140039aa0:	49 89 d0             	mov    %rdx,%r8
140039aa3:	4c 89 c9             	mov    %r9,%rcx
140039aa6:	eb 0b                	jmp    0x140039ab3
140039aa8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140039aaf:	00
140039ab0:	49 89 d0             	mov    %rdx,%r8
140039ab3:	49 8b 10             	mov    (%r8),%rdx
140039ab6:	48 85 d2             	test   %rdx,%rdx
140039ab9:	74 d9                	je     0x140039a94
140039abb:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
140039abf:	49 21 c1             	and    %rax,%r9
140039ac2:	49 39 c9             	cmp    %rcx,%r9
140039ac5:	74 e9                	je     0x140039ab0
140039ac7:	4c 8b 16             	mov    (%rsi),%r10
140039aca:	4b 83 3c ca 00       	cmpq   $0x0,(%r10,%r9,8)
140039acf:	74 cb                	je     0x140039a9c
140039ad1:	4c 8b 12             	mov    (%rdx),%r10
140039ad4:	4d 89 10             	mov    %r10,(%r8)
140039ad7:	4c 8b 16             	mov    (%rsi),%r10
140039ada:	4f 8b 14 ca          	mov    (%r10,%r9,8),%r10
140039ade:	4d 8b 12             	mov    (%r10),%r10
140039ae1:	4c 89 12             	mov    %r10,(%rdx)
140039ae4:	4c 8b 16             	mov    (%rsi),%r10
140039ae7:	4f 8b 0c ca          	mov    (%r10,%r9,8),%r9
140039aeb:	49 89 11             	mov    %rdx,(%r9)
140039aee:	eb c3                	jmp    0x140039ab3
140039af0:	48 39 f9             	cmp    %rdi,%rcx
140039af3:	72 17                	jb     0x140039b0c
140039af5:	48 89 c8             	mov    %rcx,%rax
140039af8:	48 09 f8             	or     %rdi,%rax
140039afb:	48 c1 e8 20          	shr    $0x20,%rax
140039aff:	74 17                	je     0x140039b18
140039b01:	48 89 c8             	mov    %rcx,%rax
140039b04:	31 d2                	xor    %edx,%edx
140039b06:	48 f7 f7             	div    %rdi
140039b09:	48 89 d1             	mov    %rdx,%rcx
140039b0c:	48 8b 06             	mov    (%rsi),%rax
140039b0f:	4c 89 0c c8          	mov    %r9,(%rax,%rcx,8)
140039b13:	4d 8b 08             	mov    (%r8),%r9
140039b16:	eb 44                	jmp    0x140039b5c
140039b18:	89 c8                	mov    %ecx,%eax
140039b1a:	31 d2                	xor    %edx,%edx
140039b1c:	f7 f7                	div    %edi
140039b1e:	89 d1                	mov    %edx,%ecx
140039b20:	eb ea                	jmp    0x140039b0c
140039b22:	66 66 66 66 66 2e 0f 	data16 data16 data16 data16 cs nopw 0x0(%rax,%rax,1)
140039b29:	1f 84 00 00 00 00 00
140039b30:	49 8b 11             	mov    (%r9),%rdx
140039b33:	49 89 10             	mov    %rdx,(%r8)
140039b36:	48 8b 16             	mov    (%rsi),%rdx
140039b39:	48 8b 14 c2          	mov    (%rdx,%rax,8),%rdx
140039b3d:	48 8b 12             	mov    (%rdx),%rdx
140039b40:	49 89 11             	mov    %rdx,(%r9)
140039b43:	48 8b 16             	mov    (%rsi),%rdx
140039b46:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
140039b4a:	4c 89 08             	mov    %r9,(%rax)
140039b4d:	4d 89 c1             	mov    %r8,%r9
140039b50:	48 89 c8             	mov    %rcx,%rax
140039b53:	4d 89 c8             	mov    %r9,%r8
140039b56:	4d 8b 09             	mov    (%r9),%r9
140039b59:	48 89 c1             	mov    %rax,%rcx
140039b5c:	4d 85 c9             	test   %r9,%r9
140039b5f:	0f 84 2f ff ff ff    	je     0x140039a94
140039b65:	49 8b 41 08          	mov    0x8(%r9),%rax
140039b69:	48 39 f8             	cmp    %rdi,%rax
140039b6c:	72 14                	jb     0x140039b82
140039b6e:	48 89 c2             	mov    %rax,%rdx
140039b71:	48 09 fa             	or     %rdi,%rdx
140039b74:	48 c1 ea 20          	shr    $0x20,%rdx
140039b78:	74 1d                	je     0x140039b97
140039b7a:	31 d2                	xor    %edx,%edx
140039b7c:	48 f7 f7             	div    %rdi
140039b7f:	48 89 d0             	mov    %rdx,%rax
140039b82:	48 39 c8             	cmp    %rcx,%rax
140039b85:	74 c9                	je     0x140039b50
140039b87:	48 8b 16             	mov    (%rsi),%rdx
140039b8a:	48 83 3c c2 00       	cmpq   $0x0,(%rdx,%rax,8)
140039b8f:	75 9f                	jne    0x140039b30
140039b91:	4c 89 04 c2          	mov    %r8,(%rdx,%rax,8)
140039b95:	eb bc                	jmp    0x140039b53
140039b97:	31 d2                	xor    %edx,%edx
140039b99:	f7 f7                	div    %edi
140039b9b:	89 d0                	mov    %edx,%eax
140039b9d:	48 39 c8             	cmp    %rcx,%rax
140039ba0:	74 ae                	je     0x140039b50
140039ba2:	eb e3                	jmp    0x140039b87
140039ba4:	cc                   	int3
140039ba5:	0f 0b                	ud2
140039ba7:	cc                   	int3
140039ba8:	cc                   	int3
140039ba9:	cc                   	int3
140039baa:	cc                   	int3
140039bab:	cc                   	int3
140039bac:	cc                   	int3
140039bad:	cc                   	int3
140039bae:	cc                   	int3
140039baf:	cc                   	int3
140039bb0:	56                   	push   %rsi
140039bb1:	48 83 ec 40          	sub    $0x40,%rsp
140039bb5:	48 8b 05 84 74 0c 00 	mov    0xc7484(%rip),%rax        # 0x140101040
140039bbc:	48 31 e0             	xor    %rsp,%rax
140039bbf:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140039bc4:	48 8b 71 08          	mov    0x8(%rcx),%rsi
140039bc8:	48 85 f6             	test   %rsi,%rsi
140039bcb:	0f 84 a8 00 00 00    	je     0x140039c79
140039bd1:	44 8b 1a             	mov    (%rdx),%r11d
140039bd4:	48 89 f0             	mov    %rsi,%rax
140039bd7:	48 d1 e8             	shr    $1,%rax
140039bda:	48 ba 55 55 55 55 55 	movabs $0x5555555555555555,%rdx
140039be1:	55 55 55
140039be4:	48 21 c2             	and    %rax,%rdx
140039be7:	48 89 f0             	mov    %rsi,%rax
140039bea:	48 29 d0             	sub    %rdx,%rax
140039bed:	48 ba 33 33 33 33 33 	movabs $0x3333333333333333,%rdx
140039bf4:	33 33 33
140039bf7:	49 89 c0             	mov    %rax,%r8
140039bfa:	49 21 d0             	and    %rdx,%r8
140039bfd:	48 c1 e8 02          	shr    $0x2,%rax
140039c01:	48 21 d0             	and    %rdx,%rax
140039c04:	4c 01 c0             	add    %r8,%rax
140039c07:	48 89 c2             	mov    %rax,%rdx
140039c0a:	48 c1 ea 04          	shr    $0x4,%rdx
140039c0e:	48 01 c2             	add    %rax,%rdx
140039c11:	48 b8 0f 0f 0f 0f 0f 	movabs $0xf0f0f0f0f0f0f0f,%rax
140039c18:	0f 0f 0f
140039c1b:	48 21 d0             	and    %rdx,%rax
140039c1e:	49 b9 01 01 01 01 01 	movabs $0x101010101010101,%r9
140039c25:	01 01 01
140039c28:	4c 0f af c8          	imul   %rax,%r9
140039c2c:	49 c1 e9 38          	shr    $0x38,%r9
140039c30:	49 83 f9 01          	cmp    $0x1,%r9
140039c34:	76 14                	jbe    0x140039c4a
140039c36:	4d 89 da             	mov    %r11,%r10
140039c39:	4c 39 de             	cmp    %r11,%rsi
140039c3c:	77 15                	ja     0x140039c53
140039c3e:	44 89 d8             	mov    %r11d,%eax
140039c41:	31 d2                	xor    %edx,%edx
140039c43:	f7 f6                	div    %esi
140039c45:	41 89 d2             	mov    %edx,%r10d
140039c48:	eb 09                	jmp    0x140039c53
140039c4a:	8d 46 ff             	lea    -0x1(%rsi),%eax
140039c4d:	45 89 da             	mov    %r11d,%r10d
140039c50:	41 21 c2             	and    %eax,%r10d
140039c53:	48 8b 01             	mov    (%rcx),%rax
140039c56:	4a 8b 04 d0          	mov    (%rax,%r10,8),%rax
140039c5a:	48 85 c0             	test   %rax,%rax
140039c5d:	74 1a                	je     0x140039c79
140039c5f:	4c 8b 00             	mov    (%rax),%r8
140039c62:	4d 85 c0             	test   %r8,%r8
140039c65:	74 12                	je     0x140039c79
140039c67:	41 83 f9 02          	cmp    $0x2,%r9d
140039c6b:	0f 83 88 00 00 00    	jae    0x140039cf9
140039c71:	48 ff ce             	dec    %rsi
140039c74:	45 31 c9             	xor    %r9d,%r9d
140039c77:	eb 35                	jmp    0x140039cae
140039c79:	45 31 c9             	xor    %r9d,%r9d
140039c7c:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140039c81:	48 31 e1             	xor    %rsp,%rcx
140039c84:	48 3b 0d b5 73 0c 00 	cmp    0xc73b5(%rip),%rcx        # 0x140101040
140039c8b:	74 06                	je     0x140039c93
140039c8d:	e8 3e 56 03 00       	call   0x14006f2d0
140039c92:	cc                   	int3
140039c93:	4c 89 c8             	mov    %r9,%rax
140039c96:	48 83 c4 40          	add    $0x40,%rsp
140039c9a:	5e                   	pop    %rsi
140039c9b:	c3                   	ret
140039c9c:	0f 1f 40 00          	nopl   0x0(%rax)
140039ca0:	45 39 58 10          	cmp    %r11d,0x10(%r8)
140039ca4:	74 1b                	je     0x140039cc1
140039ca6:	4d 8b 00             	mov    (%r8),%r8
140039ca9:	4d 85 c0             	test   %r8,%r8
140039cac:	74 ce                	je     0x140039c7c
140039cae:	49 8b 40 08          	mov    0x8(%r8),%rax
140039cb2:	4c 39 d8             	cmp    %r11,%rax
140039cb5:	74 e9                	je     0x140039ca0
140039cb7:	48 21 f0             	and    %rsi,%rax
140039cba:	4c 39 d0             	cmp    %r10,%rax
140039cbd:	74 e7                	je     0x140039ca6