14014788c:	48 83 c4 28          	add    $0x28,%rsp
140147890:	5f                   	pop    %rdi
140147891:	5b                   	pop    %rbx
140147892:	c3                   	ret
140147893:	90                   	nop
140147894:	90                   	nop
140147895:	90                   	nop
140147896:	90                   	nop
140147897:	90                   	nop
140147898:	90                   	nop
140147899:	90                   	nop
14014789a:	90                   	nop
14014789b:	90                   	nop
14014789c:	90                   	nop
14014789d:	90                   	nop
14014789e:	90                   	nop
14014789f:	90                   	nop
1401478a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401478a5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1401478aa:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401478af:	57                   	push   %rdi
1401478b0:	48 83 ec 20          	sub    $0x20,%rsp
1401478b4:	48 8b 59 28          	mov    0x28(%rcx),%rbx
1401478b8:	48 8b fa             	mov    %rdx,%rdi
1401478bb:	41 8b e8             	mov    %r8d,%ebp
1401478be:	48 8b c1             	mov    %rcx,%rax
1401478c1:	4c 8b 4b 40          	mov    0x40(%rbx),%r9
1401478c5:	4d 85 c9             	test   %r9,%r9
1401478c8:	75 37                	jne    0x140147901
1401478ca:	8b 4b 30             	mov    0x30(%rbx),%ecx
1401478cd:	ba 01 00 00 00       	mov    $0x1,%edx
1401478d2:	d3 e2                	shl    %cl,%edx
1401478d4:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1401478da:	48 8b 48 40          	mov    0x40(%rax),%rcx
1401478de:	83 c2 10             	add    $0x10,%edx
1401478e1:	48 8b 40 30          	mov    0x30(%rax),%rax
1401478e5:	ff 15 45 b5 0c 00    	call   *0xcb545(%rip)        # 0x140212e30
1401478eb:	48 89 43 40          	mov    %rax,0x40(%rbx)
1401478ef:	4c 8b c8             	mov    %rax,%r9
1401478f2:	48 85 c0             	test   %rax,%rax
1401478f5:	75 0a                	jne    0x140147901
1401478f7:	b8 01 00 00 00       	mov    $0x1,%eax
1401478fc:	e9 a3 00 00 00       	jmp    0x1401479a4
140147901:	8b 43 34             	mov    0x34(%rbx),%eax
140147904:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140147909:	45 33 f6             	xor    %r14d,%r14d
14014790c:	85 c0                	test   %eax,%eax
14014790e:	75 11                	jne    0x140147921
140147910:	8b 4b 30             	mov    0x30(%rbx),%ecx
140147913:	b8 01 00 00 00       	mov    $0x1,%eax
140147918:	d3 e0                	shl    %cl,%eax
14014791a:	89 43 34             	mov    %eax,0x34(%rbx)
14014791d:	4c 89 73 38          	mov    %r14,0x38(%rbx)
140147921:	3b e8                	cmp    %eax,%ebp
140147923:	72 1a                	jb     0x14014793f
140147925:	44 8b c0             	mov    %eax,%r8d
140147928:	49 8b c9             	mov    %r9,%rcx
14014792b:	49 2b f8             	sub    %r8,%rdi
14014792e:	48 8b d7             	mov    %rdi,%rdx
140147931:	e8 ba e0 0b 00       	call   0x1402059f0
140147936:	8b 43 34             	mov    0x34(%rbx),%eax
140147939:	44 89 73 3c          	mov    %r14d,0x3c(%rbx)
14014793d:	eb 5b                	jmp    0x14014799a
14014793f:	0f ae e8             	lfence
140147942:	8b 4b 3c             	mov    0x3c(%rbx),%ecx
140147945:	48 8b d7             	mov    %rdi,%rdx
140147948:	8b 73 34             	mov    0x34(%rbx),%esi
14014794b:	2b f1                	sub    %ecx,%esi
14014794d:	3b f5                	cmp    %ebp,%esi
14014794f:	0f 47 f5             	cmova  %ebp,%esi
140147952:	48 03 4b 40          	add    0x40(%rbx),%rcx
140147956:	44 8b c6             	mov    %esi,%r8d
140147959:	48 2b d5             	sub    %rbp,%rdx
14014795c:	e8 8f e0 0b 00       	call   0x1402059f0
140147961:	2b ee                	sub    %esi,%ebp
140147963:	74 1d                	je     0x140147982
140147965:	0f ae e8             	lfence
140147968:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
14014796c:	44 8b c5             	mov    %ebp,%r8d
14014796f:	49 2b f8             	sub    %r8,%rdi
140147972:	48 8b d7             	mov    %rdi,%rdx
140147975:	e8 76 e0 0b 00       	call   0x1402059f0
14014797a:	8b 43 34             	mov    0x34(%rbx),%eax
14014797d:	89 6b 3c             	mov    %ebp,0x3c(%rbx)
140147980:	eb 18                	jmp    0x14014799a
140147982:	01 73 3c             	add    %esi,0x3c(%rbx)
140147985:	8b 4b 34             	mov    0x34(%rbx),%ecx
140147988:	39 4b 3c             	cmp    %ecx,0x3c(%rbx)
14014798b:	75 04                	jne    0x140147991
14014798d:	44 89 73 3c          	mov    %r14d,0x3c(%rbx)
140147991:	8b 43 38             	mov    0x38(%rbx),%eax
140147994:	3b c1                	cmp    %ecx,%eax
140147996:	73 05                	jae    0x14014799d
140147998:	03 c6                	add    %esi,%eax
14014799a:	89 43 38             	mov    %eax,0x38(%rbx)
14014799d:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
1401479a2:	33 c0                	xor    %eax,%eax
1401479a4:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1401479a9:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1401479ae:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1401479b3:	48 83 c4 20          	add    $0x20,%rsp
1401479b7:	5f                   	pop    %rdi
1401479b8:	c3                   	ret
1401479b9:	90                   	nop
1401479ba:	90                   	nop
1401479bb:	90                   	nop
1401479bc:	90                   	nop
1401479bd:	90                   	nop
1401479be:	90                   	nop
1401479bf:	90                   	nop
1401479c0:	89 54 24 10          	mov    %edx,0x10(%rsp)
1401479c4:	53                   	push   %rbx
1401479c5:	55                   	push   %rbp
1401479c6:	56                   	push   %rsi
1401479c7:	57                   	push   %rdi
1401479c8:	41 54                	push   %r12
1401479ca:	41 55                	push   %r13
1401479cc:	41 56                	push   %r14
1401479ce:	41 57                	push   %r15
1401479d0:	48 83 ec 58          	sub    $0x58,%rsp
1401479d4:	4c 8b e1             	mov    %rcx,%r12
1401479d7:	48 85 c9             	test   %rcx,%rcx
1401479da:	0f 84 15 19 00 00    	je     0x1401492f5
1401479e0:	48 83 79 30 00       	cmpq   $0x0,0x30(%rcx)
1401479e5:	0f 84 0a 19 00 00    	je     0x1401492f5
1401479eb:	48 83 79 38 00       	cmpq   $0x0,0x38(%rcx)
1401479f0:	0f 84 ff 18 00 00    	je     0x1401492f5
1401479f6:	4c 8b 69 28          	mov    0x28(%rcx),%r13
1401479fa:	4d 85 ed             	test   %r13,%r13
1401479fd:	0f 84 f2 18 00 00    	je     0x1401492f5
140147a03:	49 39 4d 00          	cmp    %rcx,0x0(%r13)
140147a07:	0f 85 e8 18 00 00    	jne    0x1401492f5
140147a0d:	41 8b 45 08          	mov    0x8(%r13),%eax
140147a11:	3d 34 3f 00 00       	cmp    $0x3f34,%eax
140147a16:	0f 8c d9 18 00 00    	jl     0x1401492f5
140147a1c:	3d 53 3f 00 00       	cmp    $0x3f53,%eax
140147a21:	0f 8f ce 18 00 00    	jg     0x1401492f5
140147a27:	48 83 c1 10          	add    $0x10,%rcx
140147a2b:	48 83 39 00          	cmpq   $0x0,(%rcx)
140147a2f:	0f 84 c0 18 00 00    	je     0x1401492f5
140147a35:	49 83 3c 24 00       	cmpq   $0x0,(%r12)
140147a3a:	75 13                	jne    0x140147a4f
140147a3c:	41 83 7c 24 08 00    	cmpl   $0x0,0x8(%r12)
140147a42:	0f 85 ad 18 00 00    	jne    0x1401492f5
140147a48:	49 8d 54 24 10       	lea    0x10(%r12),%rdx
140147a4d:	eb 03                	jmp    0x140147a52
140147a4f:	48 8b d1             	mov    %rcx,%rdx
140147a52:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
140147a57:	3d 3f 3f 00 00       	cmp    $0x3f3f,%eax
140147a5c:	75 12                	jne    0x140147a70
140147a5e:	41 c7 45 08 40 3f 00 	movl   $0x3f40,0x8(%r13)
140147a65:	00
140147a66:	b8 40 3f 00 00       	mov    $0x3f40,%eax
140147a6b:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
140147a70:	45 8b 44 24 18       	mov    0x18(%r12),%r8d
140147a75:	45 33 ff             	xor    %r15d,%r15d
140147a78:	4c 8b 19             	mov    (%rcx),%r11
140147a7b:	05 cc c0 ff ff       	add    $0xffffc0cc,%eax
140147a80:	41 8b 74 24 08       	mov    0x8(%r12),%esi
140147a85:	41 8b d0             	mov    %r8d,%edx
140147a88:	49 8b 2c 24          	mov    (%r12),%rbp
140147a8c:	45 8b 75 48          	mov    0x48(%r13),%r14d
140147a90:	41 8b 5d 4c          	mov    0x4c(%r13),%ebx
140147a94:	89 94 24 a8 00 00 00 	mov    %edx,0xa8(%rsp)
140147a9b:	4c 89 5c 24 38       	mov    %r11,0x38(%rsp)
140147aa0:	44 89 84 24 b0 00 00 	mov    %r8d,0xb0(%rsp)
140147aa7:	00
140147aa8:	89 74 24 34          	mov    %esi,0x34(%rsp)
140147aac:	44 89 bc 24 a0 00 00 	mov    %r15d,0xa0(%rsp)
140147ab3:	00
140147ab4:	83 f8 1f             	cmp    $0x1f,%eax
140147ab7:	0f 87 38 18 00 00    	ja     0x1401492f5
140147abd:	48 8d 3d 3c 85 eb ff 	lea    -0x147ac4(%rip),%rdi        # 0x140000000
140147ac4:	48 98                	cltq
140147ac6:	4d 8d 4d 74          	lea    0x74(%r13),%r9
140147aca:	4d 8d 55 70          	lea    0x70(%r13),%r10
140147ace:	8b 8c 87 0c 93 14 00 	mov    0x14930c(%rdi,%rax,4),%ecx
140147ad5:	48 03 cf             	add    %rdi,%rcx
140147ad8:	ff e1                	jmp    *%rcx
140147ada:	41 83 7d 10 00       	cmpl   $0x0,0x10(%r13)
140147adf:	75 0d                	jne    0x140147aee
140147ae1:	41 c7 45 08 40 3f 00 	movl   $0x3f40,0x8(%r13)
140147ae8:	00
140147ae9:	e9 6e 07 00 00       	jmp    0x14014825c
140147aee:	83 fb 10             	cmp    $0x10,%ebx
140147af1:	73 20                	jae    0x140147b13
140147af3:	85 f6                	test   %esi,%esi
140147af5:	0f 84 b4 16 00 00    	je     0x1401491af
140147afb:	0f b6 45 00          	movzbl 0x0(%rbp),%eax
140147aff:	8b cb                	mov    %ebx,%ecx
140147b01:	d3 e0                	shl    %cl,%eax
140147b03:	ff ce                	dec    %esi
140147b05:	44 03 f0             	add    %eax,%r14d
140147b08:	48 ff c5             	inc    %rbp
140147b0b:	83 c3 08             	add    $0x8,%ebx
140147b0e:	83 fb 10             	cmp    $0x10,%ebx
140147b11:	72 e0                	jb     0x140147af3
140147b13:	41 f6 45 10 02       	testb  $0x2,0x10(%r13)
140147b18:	74 76                	je     0x140147b90
140147b1a:	41 81 fe 1f 8b 00 00 	cmp    $0x8b1f,%r14d
140147b21:	75 6d                	jne    0x140147b90
140147b23:	41 83 7d 30 00       	cmpl   $0x0,0x30(%r13)
140147b28:	75 08                	jne    0x140147b32
140147b2a:	41 c7 45 30 0f 00 00 	movl   $0xf,0x30(%r13)
140147b31:	00
140147b32:	45 33 c9             	xor    %r9d,%r9d
140147b35:	48 8d 15 84 1e 00 00 	lea    0x1e84(%rip),%rdx        # 0x1401499c0
140147b3c:	45 33 c0             	xor    %r8d,%r8d
140147b3f:	48 8d 0d a2 c2 1c 00 	lea    0x1cc2a2(%rip),%rcx        # 0x140313de8
140147b46:	ff 15 7c a9 0c 00    	call   *0xca97c(%rip)        # 0x1402124c8
140147b4c:	44 88 b4 24 b8 00 00 	mov    %r14b,0xb8(%rsp)
140147b53:	00
140147b54:	48 8d 94 24 b8 00 00 	lea    0xb8(%rsp),%rdx
140147b5b:	00
140147b5c:	41 c1 ee 08          	shr    $0x8,%r14d
140147b60:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140147b66:	33 c9                	xor    %ecx,%ecx
140147b68:	44 88 b4 24 b9 00 00 	mov    %r14b,0xb9(%rsp)
140147b6f:	00
140147b70:	45 89 7d 20          	mov    %r15d,0x20(%r13)
140147b74:	e8 e7 e8 ff ff       	call   0x140146460
140147b79:	41 89 45 20          	mov    %eax,0x20(%r13)
140147b7d:	45 8b f7             	mov    %r15d,%r14d
140147b80:	41 8b df             	mov    %r15d,%ebx
140147b83:	41 c7 45 08 35 3f 00 	movl   $0x3f35,0x8(%r13)
140147b8a:	00
140147b8b:	e9 bf 06 00 00       	jmp    0x14014824f
140147b90:	49 8b 45 28          	mov    0x28(%r13),%rax
140147b94:	48 85 c0             	test   %rax,%rax
140147b97:	74 07                	je     0x140147ba0
140147b99:	c7 40 40 ff ff ff ff 	movl   $0xffffffff,0x40(%rax)
140147ba0:	41 f6 45 10 01       	testb  $0x1,0x10(%r13)
140147ba5:	0f 84 e9 00 00 00    	je     0x140147c94
140147bab:	41 0f b6 ce          	movzbl %r14b,%ecx
140147baf:	41 8b c6             	mov    %r14d,%eax
140147bb2:	c1 e8 08             	shr    $0x8,%eax
140147bb5:	c1 e1 08             	shl    $0x8,%ecx
140147bb8:	03 c8                	add    %eax,%ecx
140147bba:	b8 85 10 42 08       	mov    $0x8421085,%eax
140147bbf:	f7 e1                	mul    %ecx
140147bc1:	8b c1                	mov    %ecx,%eax
140147bc3:	2b c2                	sub    %edx,%eax
140147bc5:	d1 e8                	shr    $1,%eax
140147bc7:	03 c2                	add    %edx,%eax
140147bc9:	c1 e8 04             	shr    $0x4,%eax
140147bcc:	6b c0 1f             	imul   $0x1f,%eax,%eax
140147bcf:	3b c8                	cmp    %eax,%ecx
140147bd1:	0f 85 bd 00 00 00    	jne    0x140147c94
140147bd7:	41 8b c6             	mov    %r14d,%eax
140147bda:	24 0f                	and    $0xf,%al
140147bdc:	3c 08                	cmp    $0x8,%al
140147bde:	74 19                	je     0x140147bf9
140147be0:	48 8d 05 79 68 13 00 	lea    0x136879(%rip),%rax        # 0x14027e460
140147be7:	49 89 44 24 20       	mov    %rax,0x20(%r12)
140147bec:	41 c7 45 08 51 3f 00 	movl   $0x3f51,0x8(%r13)
140147bf3:	00
140147bf4:	e9 63 06 00 00       	jmp    0x14014825c
140147bf9:	41 8b 45 30          	mov    0x30(%r13),%eax
140147bfd:	83 c3 fc             	add    $0xfffffffc,%ebx
140147c00:	41 c1 ee 04          	shr    $0x4,%r14d
140147c04:	41 8b ce             	mov    %r14d,%ecx
140147c07:	83 e1 0f             	and    $0xf,%ecx
140147c0a:	83 c1 08             	add    $0x8,%ecx
140147c0d:	85 c0                	test   %eax,%eax
140147c0f:	75 06                	jne    0x140147c17
140147c11:	8b c1                	mov    %ecx,%eax
140147c13:	41 89 4d 30          	mov    %ecx,0x30(%r13)
140147c17:	83 f9 0f             	cmp    $0xf,%ecx
140147c1a:	77 5f                	ja     0x140147c7b
140147c1c:	3b c8                	cmp    %eax,%ecx
140147c1e:	77 5b                	ja     0x140147c7b
140147c20:	b8 01 00 00 00       	mov    $0x1,%eax
140147c25:	45 89 7d 18          	mov    %r15d,0x18(%r13)
140147c29:	d3 e0                	shl    %cl,%eax
140147c2b:	48 8d 15 8e 1d 00 00 	lea    0x1d8e(%rip),%rdx        # 0x1401499c0
140147c32:	48 8d 0d af c1 1c 00 	lea    0x1cc1af(%rip),%rcx        # 0x140313de8
140147c39:	41 89 45 1c          	mov    %eax,0x1c(%r13)
140147c3d:	45 33 c9             	xor    %r9d,%r9d
140147c40:	45 33 c0             	xor    %r8d,%r8d
140147c43:	ff 15 7f a8 0c 00    	call   *0xca87f(%rip)        # 0x1402124c8
140147c49:	41 c1 ee 08          	shr    $0x8,%r14d
140147c4d:	41 8b df             	mov    %r15d,%ebx
140147c50:	41 f7 d6             	not    %r14d
140147c53:	41 c7 45 20 01 00 00 	movl   $0x1,0x20(%r13)
140147c5a:	00
140147c5b:	41 83 e6 02          	and    $0x2,%r14d
140147c5f:	41 c7 44 24 4c 01 00 	movl   $0x1,0x4c(%r12)
140147c66:	00 00
140147c68:	41 81 ce 3d 3f 00 00 	or     $0x3f3d,%r14d
140147c6f:	45 89 75 08          	mov    %r14d,0x8(%r13)
140147c73:	45 8b f7             	mov    %r15d,%r14d
140147c76:	e9 d4 05 00 00       	jmp    0x14014824f
140147c7b:	48 8d 05 fe 67 13 00 	lea    0x1367fe(%rip),%rax        # 0x14027e480
140147c82:	49 89 44 24 20       	mov    %rax,0x20(%r12)
140147c87:	41 c7 45 08 51 3f 00 	movl   $0x3f51,0x8(%r13)
140147c8e:	00
140147c8f:	e9 c8 05 00 00       	jmp    0x14014825c
140147c94:	48 8d 05 fd 67 13 00 	lea    0x1367fd(%rip),%rax        # 0x14027e498
140147c9b:	49 89 44 24 20       	mov    %rax,0x20(%r12)
140147ca0:	41 c7 45 08 51 3f 00 	movl   $0x3f51,0x8(%r13)
140147ca7:	00
140147ca8:	e9 af 05 00 00       	jmp    0x14014825c
140147cad:	83 fb 10             	cmp    $0x10,%ebx
140147cb0:	73 20                	jae    0x140147cd2
140147cb2:	85 f6                	test   %esi,%esi
140147cb4:	0f 84 f5 14 00 00    	je     0x1401491af
140147cba:	0f b6 45 00          	movzbl 0x0(%rbp),%eax
140147cbe:	8b cb                	mov    %ebx,%ecx
140147cc0:	d3 e0                	shl    %cl,%eax
140147cc2:	ff ce                	dec    %esi
140147cc4:	44 03 f0             	add    %eax,%r14d
140147cc7:	48 ff c5             	inc    %rbp
140147cca:	83 c3 08             	add    $0x8,%ebx
140147ccd:	83 fb 10             	cmp    $0x10,%ebx
140147cd0:	72 e0                	jb     0x140147cb2
140147cd2:	45 89 75 18          	mov    %r14d,0x18(%r13)
140147cd6:	41 80 fe 08          	cmp    $0x8,%r14b
140147cda:	74 19                	je     0x140147cf5
140147cdc:	48 8d 05 7d 67 13 00 	lea    0x13677d(%rip),%rax        # 0x14027e460
140147ce3:	49 89 44 24 20       	mov    %rax,0x20(%r12)
140147ce8:	41 c7 45 08 51 3f 00 	movl   $0x3f51,0x8(%r13)
140147cef:	00
140147cf0:	e9 67 05 00 00       	jmp    0x14014825c
140147cf5:	41 f7 c6 00 e0 00 00 	test   $0xe000,%r14d
140147cfc:	74 19                	je     0x140147d17
140147cfe:	48 8d 05 db 67 13 00 	lea    0x1367db(%rip),%rax        # 0x14027e4e0
140147d05:	49 89 44 24 20       	mov    %rax,0x20(%r12)
140147d0a:	41 c7 45 08 51 3f 00 	movl   $0x3f51,0x8(%r13)
140147d11:	00
140147d12:	e9 45 05 00 00       	jmp    0x14014825c
140147d17:	49 8b 4d 28          	mov    0x28(%r13),%rcx
140147d1b:	48 85 c9             	test   %rcx,%rcx
140147d1e:	74 0b                	je     0x140147d2b
140147d20:	41 8b c6             	mov    %r14d,%eax
140147d23:	c1 e8 08             	shr    $0x8,%eax
140147d26:	83 e0 01             	and    $0x1,%eax
140147d29:	89 01                	mov    %eax,(%rcx)
140147d2b:	41 f7 45 18 00 02 00 	testl  $0x200,0x18(%r13)
140147d32:	00
140147d33:	74 36                	je     0x140147d6b
140147d35:	41 f6 45 10 04       	testb  $0x4,0x10(%r13)
140147d3a:	74 2f                	je     0x140147d6b
140147d3c:	41 8b 4d 20          	mov    0x20(%r13),%ecx
140147d40:	48 8d 94 24 b8 00 00 	lea    0xb8(%rsp),%rdx
140147d47:	00
140147d48:	44 88 b4 24 b8 00 00 	mov    %r14b,0xb8(%rsp)
140147d4f:	00
140147d50:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140147d56:	41 c1 ee 08          	shr    $0x8,%r14d
140147d5a:	44 88 b4 24 b9 00 00 	mov    %r14b,0xb9(%rsp)